魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署

简介: 随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。

导读


随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。


llama2.c 是用 C 语言实现的,没有任何依赖的大模型推理库,它能够以比较高效的方式运行在 CPU 上,可以在个人电脑,比如 Macbook 上完成大模型的推理任务,解决了很多没有显卡却想试一下部署 Llama2 的用户需求。


其实,在这个项目之前,就有一个开源项目专门针对个人用户的大模型推理需求,适配各种硬件的推理框架,包括 Andrej Karpathy 的 llama2.c 项目也是受其启发,那就是 llama.cpp,一个目前在 Github 有超过 4万 star 的项目。


llama.cpp


llama.cpp 是一个用 C/C++ 编写的推理框架,没有任何依赖,能够在几乎所有系统和硬件运行,支持包括 LLaMA 2、Code Llama、Falcon、Baichuan 等 llama 系的模型。除了能够使用 CPU 推理,它也可以利用 CUDA、Metal 和 OpenCL 这些 GPU 资源加速,所以不管是英伟达、AMD还是 Apple 的 GPU 都能够帮助提升推理性能。


除了硬件的支持,llamacpp 还有一个重要的特性就是支持模型量化,可以极大地减少模型对显存或者内存使用量,下面的表列出了不同量化方式的模型大小以及模型效果。

Name Quant method Bits Size Max RAM required Use case
llama-2-70b-chat.Q2_K.gguf Q2_K 2 29.28 GB 31.78 GB smallest, significant quality loss - not recommended for most purposes
llama-2-70b-chat.Q3_K_S.gguf Q3_K_S 3 29.92 GB 32.42 GB very small, high quality loss
llama-2-70b-chat.Q5_K_S.gguf Q5_K_S 5 30.57 GB 33.07 GB large, low quality loss - recommended
llama-2-70b-chat.Q3_K_M.gguf Q3_K_M 3 33.19 GB 35.69 GB very small, high quality loss
llama-2-70b-chat.Q3_K_L.gguf Q3_K_L 3 36.15 GB 38.65 GB small, substantial quality loss
llama-2-70b-chat.Q4_0.gguf Q4_0 4 38.87 GB 41.37 GB legacy; small, very high quality loss - prefer using Q3_K_M
llama-2-70b-chat.Q4_K_S.gguf Q4_K_S 4 39.07 GB 41.57 GB small, greater quality loss
llama-2-70b-chat.Q4_K_M.gguf Q4_K_M 4 41.42 GB 43.92 GB medium, balanced quality - recommended
llama-2-70b-chat.Q5_0.gguf Q5_0 5 47.46 GB 49.96 GB legacy; medium, balanced quality - prefer using Q4_K_M
llama-2-70b-chat.Q5_K_M.gguf Q5_K_M 5 48.75 GB 51.25 GB large, very low quality loss - recommended
llama-2-70b-chat.Q6_K.gguf Q6_K 6 56.59 GB 59.09 GB very large, extremely low quality loss
llama-2-70b-chat.Q8_0.gguf Q8_0 8 73.29 GB 75.79 GB very large, extremely low quality loss - not recommended



本地部署



模型


为了方便使用到 llamacpp 的能力,我们在魔搭平台上传了模型的 gguf 版本,目前已经支持的模型包括以下列表:


后续更多的模型也在持续支持中,欢迎大家在社区列出需要的模型,我们会第一时间上传到魔搭。


Xinference


Xinference(https://github.com/xorbitsai/inference) 是一个开源推理平台,能够帮助用户非常方便地在本地部署开源大模型,借助 Xinference,你能够在云端、本地设备,甚至是笔记本电脑上运行任何开源大语言模型、语音识别模型等多模态模型的推理,llamacpp 的模型同样也是支持的。同时,Xinference 和魔搭也做了深度集成,对于在魔搭中能够找到的模型,优先从魔搭下载,对于本地部署非常友好。


安装

安装 Xinference:

pip install xinference

安装 llamacpp:

  • CPU 版本
pip install llama-cpp-python


  • CUDA 版本
CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python


  • Apple Metal 版本
CMAKE_ARGS="-DLLAMA_METAL=on" pip install llama-cpp-python


其余硬件可以参考文档

https://github.com/abetlen/llama-cpp-python#installation-with-hardware-acceleration


部署模型

通过命令行拉起 Xinference 服务:

xinference



默认会有一个模型选择的 Web UI,选择任意想部署的模型。


也可以通过代码部署模型与推理:

from xinference.client import Client
client = Client("http://127.0.0.1:9997")
model_uid = client.launch_model(
    model_name="llama-2-chat",
    model_format="ggufv2", 
    model_size_in_billions=7,
    quantization="Q4_K_M",
    )
model = client.get_model(model_uid)
chat_history = []
prompt = "What is the largest animal?"
model.chat(
    prompt,
    chat_history=chat_history,
    generate_config={"max_tokens": 1024}
)



多端体验

1 使用魔搭社区PAI-DSW的CPU实例

进入魔搭社区-notebook(https://modelscope.cn/my/mynotebook/preset)



选择CPU机型,拉起Xinference服务,以llama-2-chat 7B GGUF为例,27秒完成192个token:


内存占用:


2 在Mac-M1也可以轻松完成推理




Embedding模型


除了大语言模型,embedding 模型在 AI 应用中也占有非常重要的位置,我们在魔搭里上传了 MTEB 排行中靠前的 embedding 模型,也可以通过 xinference 非常方便地在本地部署。这是目前已经支持的模型列表,包括中文和英文模型:

  • bge-large-en
  • bge-base-en
  • gte-large
  • gte-base
  • e5-large-v2
  • bge-large-zh
  • bge-large-zh-noinstruct
  • bge-base-zh
  • multilingual-e5-large
  • bge-small-zh
  • bge-small-zh-v1.5
  • bge-base-zh-v1.5
  • bge-large-zh-v1.5
  • bge-small-en-v1.5
  • bge-base-en-v1.5
  • bge-large-en-v1.5


目前 embedding 模型支持通过代码推理:

In [1]: client = Client("http://localhost:9997")
In [2]: uid = client.launch_model(model_name="gte-base", model_type="embedding")
In [3]: model = client.get_model(model_uid=uid)
In [4]: model.create_embedding("write a poem.")
Out[4]:
{'object': 'list',
 'model': '3ef99480-496f-11ee-9009-c2c8e4cad3f6',
 'data': [{'index': 0,
   'object': 'embedding',
   'embedding': [-0.003699747147038579,
    0.019329899922013283,
    ...,
    -0.05098249390721321,
    -0.001861078548245132]}],
 'usage': {'prompt_tokens': 37, 'total_tokens': 37}}



总结



使用魔搭与 Xinference 平台,可以快速搭建本地大模型服务,赶快试用起来吧,更多的模型陆续支持中,欢迎大家的反馈。


相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
12月前
|
人工智能 并行计算 持续交付
如何使用龙蜥衍生版KOS,2步实现大模型训练环境部署
大幅降低了用户开发和应用大模型的技术门槛。
|
12月前
|
人工智能 弹性计算 自然语言处理
从0到1部署大模型,计算巢模型市场让小白秒变专家
阿里云计算巢模型市场依托阿里云弹性计算资源,支持私有化部署,集成通义千问、通义万象、Stable Diffusion等领先AI模型,覆盖大语言模型、文生图、多模态、文生视频等场景。模型部署在用户云账号下,30分钟极速上线,保障数据安全与权限自主控制,适用于企业级私有部署及快速原型验证场景。
|
12月前
|
数据采集 机器学习/深度学习 搜索推荐
利用通义大模型构建个性化推荐系统——从数据预处理到实时API部署
本文详细介绍了基于通义大模型构建个性化推荐系统的全流程,涵盖数据预处理、模型微调、实时部署及效果优化。通过采用Qwen-72B结合LoRA技术,实现电商场景下CTR提升58%,GMV增长12.7%。文章分析了特征工程、多任务学习和性能调优的关键步骤,并探讨内存优化与蒸馏实践。最后总结了大模型在推荐系统中的适用场景与局限性,提出未来向MoE架构和因果推断方向演进的建议。
1739 11
|
12月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
1082 1
|
8月前
|
监控 安全 数据安全/隐私保护
55_大模型部署:从云端到边缘的全场景实践
随着大型语言模型(LLM)技术的飞速发展,从实验室走向产业化应用已成为必然趋势。2025年,大模型部署不再局限于传统的云端集中式架构,而是向云端-边缘协同的分布式部署模式演进。这种转变不仅解决了纯云端部署在延迟、隐私和成本方面的痛点,还为大模型在各行业的广泛应用开辟了新的可能性。本文将深入剖析大模型部署的核心技术、架构设计、工程实践及最新进展,为企业和开发者提供从云端到边缘的全场景部署指南。
2147 1
|
9月前
|
人工智能 云栖大会
2025云栖大会大模型应用开发与部署|门票申领
2025云栖大会大模型应用开发与部署门票申领
761 9
|
8月前
|
缓存 API 调度
70_大模型服务部署技术对比:从框架到推理引擎
在2025年的大模型生态中,高效的服务部署技术已成为连接模型能力与实际应用的关键桥梁。随着大模型参数规模的不断扩大和应用场景的日益复杂,如何在有限的硬件资源下实现高性能、低延迟的推理服务,成为了所有大模型应用开发者面临的核心挑战。
982 0
|
8月前
|
人工智能 监控 安全
06_LLM安全与伦理:部署大模型的防护指南
随着大型语言模型(LLM)在各行业的广泛应用,其安全风险和伦理问题日益凸显。2025年,全球LLM市场规模已超过6400亿美元,年复合增长率达30.4%,但与之相伴的是安全威胁的复杂化和伦理挑战的多元化
882 0

热门文章

最新文章