当前位置: 首页 > news >正文

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

目标

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

2、调优自己的大模型;

选型

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

步骤

1、下载模型文件

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

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 镜像

docker pull qwenllm/qwen

3、启动脚本

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

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

4、运行

访问http://localhost:8080 即可

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小参数的模型。

http://www.lryc.cn/news/276481.html

相关文章:

  • Java工程师面试题解析与深度探讨
  • Linux下安装JET2
  • 【PostgreSQL】表管理-表继承
  • Dijkstra算法——邻接矩阵实现+路径记录
  • Vim基础操作
  • Mac上安装 Node.js 的版本管理工具 n,以及 n 使用,的使用
  • Node.js和npm
  • leetcode每日一题43
  • 每天刷两道题——第十天
  • C语言入门教程,C语言学习教程(第一部分:编程基础 )一
  • uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -用户信息修改实现
  • C语言PDF编程书籍下载
  • VScode/Xshell连接学校服务器
  • 46 WAF绕过-信息收集之反爬虫延时代理池技术
  • [Markdown] Markdown常用快捷键分类汇总
  • uniapp自定义封装只有时分秒的组件,时分秒范围选择
  • SpringBoot 中 @Transactional 注解的使用
  • 【还不了解 Dockerfile 的同学不是好测试人】
  • 新手一键重装系统Win10步骤教程
  • Ceph源码分析-在C++中,符号““和“*“有不同的用法。
  • Azure AI 内容安全Content Safety Studio实战
  • 计算机网络学习笔记(四)
  • typora导出html添加目录
  • vue3 封装一个按钮组件(可自定义按钮样式)
  • Docker 中使用超级用户
  • git打tag以及拉取tag
  • TS 36.212 V12.0.0-信道编码、复用和交织(1)-通用过程
  • 纯前端上传word,xlsx,ppt,在前端预览并下载成图片(预览效果可以,下载图片效果不太理想)
  • WPS Office找回丢失的工作文件
  • 【MATLAB源码-第106期】基于matlab的SAR雷达系统仿真,实现雷达目标跟踪功能,使用卡尔曼滤波算法。