使用开源通义千问模型(Qwen)搭建自己的大模型服务

目标

1、使用开源的大模型服务搭建属于自己的模型服务;

2、调优自己的大模型;

选型

采用通义千问模型,https://github.com/QwenLM/Qwen

步骤

1、下载模型文件

开源模型库:https://www.modelscope.cn/models

bash 复制代码
mkdir -p /data/qwen
cd /data/qwen
git clone --depth 1 https://www.modelscope.cn/qwen/Qwen-14B-Chat.git
# 小内存机器下载1.8B参数的,14B需要几十内存
# git clone --depth 1 https://www.modelscope.cn/qwen/Qwen-1_8B-Chat.git

2、下载使用docker 镜像

bash 复制代码
docker pull qwenllm/qwen

3、启动脚本

https://github.com/QwenLM/Qwen/blob/main/docker/docker_web_demo.sh

bash 复制代码
# 修改如下内容
IMAGE_NAME=qwenllm/qwen
QWEN_CHECKPOINT_PATH=/data/qwen/Qwen-14B-Chat
PORT=8000
CONTAINER_NAME=qwen

4、运行

访问http://localhost:8080 即可

bash 复制代码
sh docker_web_demo.sh

输出如下,可以查看容器日志是否报错。

复制代码
Successfully started web demo. Open '...' to try!
Run `docker logs ...` to check demo status.
Run `docker rm -f ...` to stop and remove the demo.

效果

文档参考

https://github.com/QwenLM/Qwen/blob/main/README_CN.md

常见问题

1、运行报错

去掉docker_web_demo.sh中--gpus all

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

2、Error while deserializing header: HeaderTooLarge

先安装yum install git-lfs 在下载模型文件,模型是git大文件管理,需要git-lfs的支持。

Traceback (most recent call last):

File "web_demo.py", line 209, in <module>

main()

File "web_demo.py", line 203, in main

model, tokenizer, config = _load_model_tokenizer(args)

File "web_demo.py", line 50, in _load_model_tokenizer

model = AutoModelForCausalLM.from_pretrained(

File "/usr/local/lib/python3.8/dist-packages/transformers/models/auto/auto_factory.py", line 511, in from_pretrained

return model_class.from_pretrained(

File "/usr/local/lib/python3.8/dist-packages/transformers/modeling_utils.py", line 3091, in from_pretrained

) = cls._load_pretrained_model(

File "/usr/local/lib/python3.8/dist-packages/transformers/modeling_utils.py", line 3456, in _load_pretrained_model

state_dict = load_state_dict(shard_file)

File "/usr/local/lib/python3.8/dist-packages/transformers/modeling_utils.py", line 458, in load_state_dict

with safe_open(checkpoint_file, framework="pt") as f:

safetensors_rust.SafetensorError: Error while deserializing header: HeaderTooLarge

3、Cannot allocate memory

内存不足,可以尝试选择1_8B小参数的模型。

相关推荐
AwhiteV2 小时前
利用图数据库高效解决 Text2sql 任务中表结构复杂时占用过多大模型上下文的问题
数据库·人工智能·自然语言处理·oracle·大模型·text2sql
大千AI助手6 小时前
GitHub Copilot:AI编程助手的架构演进与真实世界影响
人工智能·深度学习·大模型·github·copilot·ai编程·codex
用什么都重名7 小时前
《GPT-OSS 模型全解析:OpenAI 回归开源的 Mixture-of-Experts 之路》
人工智能·大模型·openai·gpt-oss
zhangbaolin12 小时前
open webui源码分析5-Tools
大模型·open webui
Ethan.Yuan1 天前
【深度长文】Anthropic发布Prompt Engineering全新指南
大模型·llm·prompt·提示工程
zhayujie1 天前
RAG优化实战 - LinkAI智能体平台的知识库升级之路
ai·大模型·agent·知识库·rag
造梦师阿鹏1 天前
004.从 API 裸调到 LangChain
经验分享·ai·大模型·ai技术·大模型应用开发
AIGC安琪1 天前
Transformer中的编码器和解码器是什么?
人工智能·深度学习·ai·语言模型·大模型·transformer·ai大模型
bug_undefine2 天前
UTMatrix VS VideoLingo 到底哪个好?
ai·大模型·视频翻译·videolingo·utmatrix
J_bean2 天前
Spring AI Alibaba 项目接入兼容 OpenAI API 的大模型
人工智能·spring·大模型·openai·spring ai·ai alibaba