使用 BentoML快速实现Llama-3推理服务
先容近年来,开源大模型如雨后春笋般涌现,为自然语言处理领域带来了革命性的变化。从文本生成到代码编写,从机器翻译到问答系统,开源大模型展现出惊人的本领,吸引了越来越多的开辟者和企业投身其中。
然而,尽管开源大模型潜力巨大,但将其摆设到实际应用场景中却并非易事。高昂的硬件成本、复杂的模型配置、繁琐的摆设流程等标题,都为大模型的落地应用设置了重重障碍。
为了降低大模型的使用门槛,让更多用户能够轻松体验和应用大模型的强大本领,本文将先容BentoML是怎么降低使用门槛并快速上手大模型开辟的**。**无论你是履历丰富的开辟者,照旧对大模型充满好奇的初学者,相信都能从本文中找到你必要的答案,快速开启你的大模型应用之旅。
环境准备
租用GPU资源
众所周知,在深度学习中,拥有符合的可用硬件至关重要。特别是对于像大语言模型这样的大型模型,这一点变得更加重要。然后购买硬件资源非常昂贵,所以租用GPU资源对于普通开辟者而言是最经济实惠的方案。下面我选择在AutoDL平台上租一块RTX 4090,当然你可以在其他平台租售必要的硬件资源。
首先,确保您有 AutoDL 帐户。接下来,按照自己的需求选择计费方式,GPU型号和基础镜像等信息。
https://i-blog.csdnimg.cn/direct/788728b52cbe4469a3b9cb17f0d5bfc5.png
几分钟后服务器会初始化好,然后使用SSH登录服务器。
https://i-blog.csdnimg.cn/direct/659801cab46b4e9eabd6ddef9c43661a.png
https://i-blog.csdnimg.cn/direct/1fcfdafa9ac04ba19adf9f59300c5f40.png
使用 BentoML 服务
首先,通过 CLI,我们可以克隆 BentoML 团队开辟的存储库。
git clone https://github.com/bentoml/BentoVLLM.git
在存储库中,我们将找到不同模型的几个示例。本教程我将专门使用 llama3-8b-instruct。所以我们进入该文件夹。
cd BentoVLLM/
cd llama3-8b-instruct/
然后安装必要的依赖。
pip install -r requirements.txt && pip install -f -U "pydantic>=2.0"
https://i-blog.csdnimg.cn/direct/8b082eeb82cf4517b4aca5194cd1ad22.png
实际代码可以在 service.py 文件中找到。但是,我们调用以下下令来调起模型就充足了。
由于huggingface在国内不稳固,所以可以通过署理的方式获取模型,下面我将先容一个方法。
[*]通过官方的huggingface-cli工具
1. 安装依赖
pip install -U huggingface_hub
2. 设置环境变量
Linux
export HF_ENDPOINT=https://hf-mirror.com
Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror.com"
建议将上面这一行写入
~/.bashrc
3.1 下载模型
huggingface-cli download --resume-download meta/llama3-8b-instruct
[*]使用 hfd
hfd 是国内开辟者开辟的 huggingface 专用下载工具,基于成熟工具 git+aria2,可以做到稳固下载不断线。
1. 下载hfd
wget https://hf-mirror.com/hfd/hfd.sh
chmod a+x hfd.sh
2. 设置环境变量
Linux
export HF_ENDPOINT=https://hf-mirror.com
Windows Powershell
$env:HF_ENDPOINT = "https://hf-mirror.com"
3.1 下载模型
./hfd.sh meta/llama3-8b-instruct --tool aria2c -x 4
3.2 下载数据集
./hfd.sh wikitext --dataset --tool aria2c -x 4
模型下载好后实行下面下令启动bentoml服务
bentoml serve .
下令调用后将打开一个 IP 地点以在本地检察 API。假如将路径“/docs”添加到 IP 地点,将会打开swagger页面提供全部可用接口的文档。
https://i-blog.csdnimg.cn/direct/0f967c902c184b25a7d7bc86669ef9cc.png
我们会看到重要的API是/generate,可以在其中输入提示符和系统提示符并等待模型的输出。
https://i-blog.csdnimg.cn/direct/2a909e89711a4dbea5502392d8837e6f.png
https://i-blog.csdnimg.cn/direct/9b28418827934b0196530a79bdd0a2fb.png
当然,除了 swagger 之外,假如您想开辟自己的自定义前端,您还可以使用代码中的 API!
总结
本教程手把手的演示了一遍怎么快速的使用一个开源大模型进行推理,通过使用BentoML这一强大的工具。BentoML不仅简化了模型摆设过程,还提供了便捷的API接口,使得开辟者能够轻松地将大模型集成到各种应用场景中。这种快速摆设和使用的方法,为大模型的广泛应用铺平了门路,让更多人能够享受到人工智能带来的便利。
然而,尽管BentoML大大简化了大模型的摆设和使用流程,我们仍必要注意一些关键点。首先,选择符合的硬件资源至关重要,这直接影响到模型的运行效率和相应速度。其次,对于不同的应用场景,可能必要对模型进行微调或优化,以获得最佳性能。
我会在后续文章中先容怎么使用BentoML对开辟RAG和Function Calling等功能演示,敬请期待。
https://i-blog.csdnimg.cn/direct/465e4ff66a8a49fb9a293bf4e26cdda1.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]