大语言模型选型及部署

1. 看完后有什么收获?

  • 可以参考什么评测网站进行模型选型?
  • 怎么使用模型推理框架部署模型?
  • 不同参数量的模型大概占用多少GPU显存?

2. 模型评测网站

2.1 为什么需要使用模型评测网站,进行模型选型?

自从2022底ChatGPT火爆以来,以Llama等基座模型微调了很多模型,国内也出现了很多例如阿里巴巴-Qwen、智谱-GLM、零一万物-Yi等一系列大语言模型。但是,当我们在做企业知识库问答,或者尝试部署开源大语言模型试玩时,繁多的但是领域失效的榜单的开源模型,总让我们测试后感到失望。

通过了解一些模型评测网站,我们可以快速知道现在主要有哪些开源厂商的开源模型,整体效果怎么样,参数量情况,从而根据自己的硬件条件和需求,选择对应的模型选型进行测试。

2.2 有哪些评测LLM模型的网站?

  1. 智源研究院 - FlagEval
  2. 上海人工智能实验室 - OpenCompass
  3. LMSYS - LMSYS Chatbot Arena Leaderboard
  4. SuperCLUE - 琅琊榜 - 中文大模型竞技场排行榜
  5. HuggingFace - Open LLM Leaderboard

2.3 怎么选择合适的评测网站进行模型选型?

2.3.1 建议主要参考智源研究院的FlagEval和上海人工智能实验室的OpenCompass为主
2.3.2 智源研究院的FlagEval解读

2.3.2.1 FlagEval排行榜首页简述:
在这里插FlagEval排行榜首页简述入图片描述

  1. 对话模型主要指的是一些商业付费,进行API调用的模型,比如GPT-4o,DeepSeek-V2等模型
  2. 基座模型主要指的是一些开源模型,可以从Huggingface或者魔搭社区下载部署的模型,比如Qwen2,Yi等模型
  3. 代码模型主要指的是一些对代码能力增强的模型,比如DeepSeek-Coder-33B-instruct

2.3.2.2 FlagEval基础模型页面简述:
在这里插入图片描述
可以对模型参数进行选择,比如小于10B、10B-40B、40B以上等等。同时对语言类别进行选择,比如选择中文。从而让我们可以根据硬件配置,通过模型参数+语言类别,从榜单上选择对应的几个模型进行测试


2.3.3 上海人工智能实验的OpenCompass解读

2.3.3.1 OpenCompass评测榜单简述:
在这里插入图片描述
可以选择选择开源模型选项,从而只查看开源模型对应的榜单


2.3.3.2 OpenCompass评测榜单中单一模型详情页简述:
在这里插入图片描述
通过点击评测榜单中具体的模型,可以了解该模型的参数、官网、权重文件、论文/技术报告,以及能力维度评分图,可以从多方面了解该模型的情况,从而确定选型。


2.3.4 其他评测网站

2.3.4.1 SuperCLUE的琅琊榜
在这里插入图片描述
SuperCLUE主要从价格和性能两个维度对模型进行区分,同时每年会发布评测报告,详细包括主、客评测的方式和样例,也供进行RAG评测和模型选型时参考。


2.3.4.2 LMSYS的Leaderboard
在这里插入图片描述

LMSYS主要采用模型对战的方式,即是用户输入一段话,随机让两个模型生成输出,让用户判别那个生成效果更好,从而对开源进行打分。


2.3.5 模型显存占用初略计算
  • 一般我们知道自己可用的硬件GPU显存大小,比如24G的4090,或者80G的A800等等。但怎么根据模型参数推导预计占据的GPU显存大小呢?
    初略可以按照 占用GPU显存 = 模型参数 * 2
    对于1B的模型参数,模型的存储精度为fp16(2Byte):1B * 2Byte = 2B Byte = 2M KB = 2K Mb = 2 GB显存

  • 使用Xinference在A800上,选择使用Transformer模型引擎推理,测试如下,整体也符合上述公式:
    1. qwen2-7b:占用16GB显存
    2. glm4-9b:占用18G显存
    3. Yi-34b: 占用66G显存


2.3.6 总结

当我们想了解当前模型效果的动态时,推荐参考智源研究院的FlagEval网站和上海人工智能实验室的OpenCompass评测网址。FlagEval主要能够根据开/闭源、模型参数、中英文进行筛选,OpenCompass主要能根据开/闭源选择对应的模型,同时点击模型详情页了解包括论文、权重等信息。此外,对于想了解评测机制方式和样例,建议查看SuperCLUE的评测报告。


3. 模型部署框架推荐

3.1 为什么需要使用模型部署框架?

在2023年时部署ChatGLM时,通常按照Github中readme运行Transforemer代码以命令行的方式对模型进行推理,或者前端使用Gradio的方式构建一个简易的对话系统。但是,这明显有个问题,比如如果我要快速部署多个不同来源的模型,怎么处理?最终以统一的类OpenAI的接口提供服务,怎么处理?这类似的问题,当我们在处理做私有知识库的时候,就会爆发。因此,一个模型部署框架,应该可以快速的配置需要的模型,包括LLM模型、Embedding模型、Rerank模型等等;同时也可以采用不同的推理引擎,例如Transformer、VLLM等;以及模型的量化,如Int8、Int4等等。


3.2 有哪些模型部署框架?

  1. 未来速度 - XInference
  2. Ollama - Ollama
  3. 上海人工智能实验室 - LMDeploy

3.3 怎么选择合适的模型部署框架?

我主要使用XInference,主要优点有两个。第一,可以快速部署不同推理引擎、不同量化形式、不同厂商的开源模型;第二,与Dify无缝对接,在XInference中配置并启动模型后,可以在DIfy中设置XInference模型配置,然后就可以快速用于构建Workflow工作流了。


4. XInference部署模型

4.1 为什么使用XInference部署模型?

第一,可以快速部署不同推理引擎、不同量化形式、不同厂商的开源模型;第二,与Dify无缝对接,在XInference中配置并启动模型后,可以在DIfy中设置XInference模型配置,然后就可以快速用于构建Workflow工作流了。


4.2 XInference可以部署哪些模型?支持哪些配置方式的模型部署?

4.2.1 XInference支持部署的模型
在这里插入图片描述XInference模型供部署的模型包括:开源的LLM模型、Embedding模型、Rerank模型、文生图模型、音频模型以及定制化模型


4.2.2 XInference部署模型
在这里插入图片描述

XInference支持以不同推理引擎,如Transformer、VLLM,不同量化,如Int8、Int4,以及相关的模型配置参数配置内置的模型;此外,可以根据自己本地下载或者微调的模型,按照上下文长度等模型配置参数,自定义部署模型。


4.3 怎么部署XInference?怎么使用XInference部署模型?怎么配置自定义模型?

4.3.1 怎么部署XInference?
  1. Github搜索Xinference
    在这里插入图片描述

  2. 查看Quick Start
    在这里插入图片描述

  3. 运行指令:

    xinference-local --host 0.0.0.0 --port 9997
    

    可以使用魔搭仓库拉取模型,以防从Huggingface拉取不了模型:

     XINFERENCE_MODEL_SRC=modelscope xinference-local --host 0.0.0.0 --port 9997
    

    在这里插入图片描述

  4. 通过浏览器访问网页【IP:9997】,查看是否正常启动XInference
    在这里插入图片描述


4.3.2 怎么使用XInference部署模型?
  1. 服务器启动XInference
    在这里插入图片描述

  2. 点击Launch模型
    在这里插入图片描述

  3. 根据之前评测网站信息和自己可使用的硬件配置,选择对应的模型
    在这里插入图片描述

  4. 配置模型参数,点击启动
    在这里插入图片描述

  5. 成功启动测试:点击Running Model,点击Action中的向上箭头,启动Gradio对话界面
    在这里插入图片描述
    Gradio界面


4.3.3 怎么配置自定义模型?

4.3.3.1 自定义配置模型:

  1. 服务器启动XInference
  2. 点击Register Model
  3. 配置模型命名、描述、上下文长度、语言、能力、来源、格式和模型路径
  4. 点击注册模型即可
    在这里插入图片描述

4.3.3.2 启动自定义配置模型:

  1. 点击Launch Model
  2. 点击Custom Models
  3. 选择自定义的模型
  4. 配置参数启动
    在这里插入图片描述
    在这里插入图片描述

4.3.4 总结

上述流程主要包括部署XInference、使用XInference部署模型、自定义配置模型部署,通过上述的流程,基本可以实现根据自己硬件配置部署一个模型。但是,一般使用Transformer推理引擎推理较慢,可以使用VLLM进行推理,但是会更耗费初始显存,也可以了解VLLM相关参数,比如gpu_memory_utilizatio等参数。同时,对于相同的硬件配置,使用大模型量化的效果一般是优于小模型不量化的,比如Qwen2-72B-Int4和qwen2-7B。不同任务,不同模型的效果也有很大差异,需要自己部署模型后测试,最终找到相对适合的。


5. 总结

通过本篇博客,当我们在面临模型选型时应该知道可以参考哪些模型评测的网站;当我们需要部署模型时,大概知道不同参数量的模型需要占用的GPU显存量,以及可以选择哪些推理框架进行模型部署。所以,你还记得嘛?哈哈


6. 常见问题及解决方案

  1. huggingface下载模型失败,访问超时
  2. docker拉取镜像失败

7. 参考资料

  1. 智源研究院 - FlagEval
  2. 上海人工智能实验室 - OpenCompass
  3. LMSYS - LMSYS Chatbot Arena Leaderboard
  4. SuperCLUE - 琅琊榜 - 中文大模型竞技场排行榜
  5. HuggingFace - Open LLM Leaderboard
  6. 未来速度 - XInference
  7. Ollama - Ollama
  8. 上海人工智能实验室 - LMDeploy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值