我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【AI实战】开源中文 llama2 来了,30 分钟搭建 130 亿参数大模型 Llama2-Chinese-13b-Chat

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【AI实战】开源中文 llama2 来了,30 分钟搭建 130 亿参数大模型 Llama2-Chinese-13b-Chat

【AI实战】开源中文 llama2 来了,30 分钟搭建 130 亿参数大模型 Llama2-Chinese-13b-Chat

简介

环境配置

环境搭建

  • 系统环境

    • Ubuntu 20.04LTS
    • CUDA 11.8
    • Docker 18.09.5
  • 创建docker容器

拉取docker镜像

docker pull nvcr.io/nvidia/pytorch:21.08-py3

创建docker

nvidia-docker run -it -d \    --name llama2_chinese \    -p 15550:15550 \    -p 15551:15551 \    -v /xx/xx/llm:/notebooks \    -e TZ='Asia/Shanghai' \    --shm-size 16G \    nvcr.io/nvidia/pytorch:21.08-py3    # docker exec -it llama2_chinese env LANG=C.UTF-8 /bin/bash

修改 /xx/xx/llm 为自己的路径

进入容器内:

docker exec -it llama2_chinese env LANG=C.UTF-8 /bin/bash
  • 安装conda

下载:

cd /notebookswget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装:

bash Miniconda3-latest-Linux-x86_64.sh

安装提升安装即可

将miniconda加入PATH路径:

export PATH="/root/miniconda3/bin:$PATH"

创建 conda 环境:

conda create -n llama2 python=3.10.9
  • 安装依赖库
conda activate llama2conda init

exit退出docker,重新进入docker

docker exec -it llama2_chinese  env LANG=C.UTF-8 /bin/bashcd /notebooksconda activate llama2

依赖安装

安装依赖库:

pip install -r requirements-2.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple

代码及模型权重拉取

拉取 Llama2-Chinese

git clone https://github.com/FlagAlpha/Llama2-Chinese.git

github网站偶尔会抽风,需要耐心等待,如果失败了,执行 rm -rf Llama2-Chinese,再重新拉取

拉取 Llama2-Chinese-13b-Chat 模型权重及代码

cd Llama2-Chinesegit clone git clone https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat

由于权重文件特别大,如果失败了,执行 rm -rf Llama2-Chinese-13b-Chat,再重新拉取。
建议中午时间拉取,速度比较快,大概 1 小时(和你的网络带宽有很大关系!)。

文件大小查看:

du -sh Llama2-Chinese-13b-Chat

输出:

25G    Llama2-Chinese-13b-Chat

如果文件大小不一致,或者太小,说明权重文件下载识别,
请执行: rm -rf Llama2-Chinese-13b-Chat, 再重新拉取
或者 按照后面的方法去下载权重文件

查看文件列表:

ls -l Llama2-Chinese-13b-Chat/

输出:

# ls -l Llama2-Chinese-13b-Chat/total 25421840-rw-r--r-- 1 root root       1514 Jul 27 06:33 README.md-rw-r--r-- 1 root root        683 Jul 27 06:33 config.json-rw-r--r-- 1 root root        327 Jul 27 07:12 down.sh-rw-r--r-- 1 root root        175 Jul 27 06:33 generation_config.json-rw-r--r-- 1 root root 9948728430 Jul 24 23:12 pytorch_model-00001-of-00003.bin-rw-r--r-- 1 root root 9904165024 Jul 24 12:44 pytorch_model-00002-of-00003.bin-rw-r--r-- 1 root root 6178983625 Jul 24 12:14 pytorch_model-00003-of-00003.bin-rw-r--r-- 1 root root      33444 Jul 27 06:33 pytorch_model.bin.index.json-rw-r--r-- 1 root root        414 Jul 27 06:33 special_tokens_map.json-rw-r--r-- 1 root root        131 Jul 27 06:33 tokenizer.model-rw-r--r-- 1 root root        749 Jul 27 06:33 tokenizer_config.json

【】如果大文件下载识别,按照下面的方法下载模型文件;

wget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00001-of-00003.binwget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00002-of-00003.binwget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00003-of-00003.bin

如果还是没法下载,参考下面的“国内 Llama2 最新下载地址” 进行下载

终端测试

进入python环境:

python3

输入代码:

import torchfrom transformers import AutoTokenizer, AutoModelForCausalLMmodel = AutoModelForCausalLM.from_pretrained('Llama2-Chinese-13b-Chat',device_map='auto',torch_dtype=torch.float16,load_in_8bit=True)model =model.eval()tokenizer = AutoTokenizer.from_pretrained('Llama2-Chinese-13b-Chat',use_fast=False)tokenizer.pad_token = tokenizer.eos_tokeninput_ids = tokenizer(['Human: 介绍一下深圳\nAssistant: '], return_tensors="pt",add_special_tokens=False).input_ids.to('cuda')        generate_input = {    "input_ids":input_ids,    "max_new_tokens":512,    "do_sample":True,    "top_k":50,    "top_p":0.95,    "temperature":0.3,    "repetition_penalty":1.3,    "eos_token_id":tokenizer.eos_token_id,    "bos_token_id":tokenizer.bos_token_id,    "pad_token_id":tokenizer.pad_token_id}generate_ids  = model.generate(**generate_input)text = tokenizer.decode(generate_ids[0])print(text)

页面测试

使用 gradio 搭建页面

安装 gradio

pip install gradio -i https://pypi.tuna.tsinghua.edu.cn/simple

加载模型并启动服务

修改端口;

vi /notebooks/Llama2-Chinese/examples/chat_gradio.py

到94行:

    demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")

修改为:

    demo.queue().launch(share=False, debug=True, server_name="0.0.0.0", server_port=15550)

启动脚本:

python examples/chat_gradio.py --model_name_or_path Llama2-Chinese-13b-Chat

如果出现下面的错误:

  File "/notebooks/Llama2-Chinese/examples/chat_gradio.py", line 94    demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")                   ^SyntaxError: invalid character ',' (U+FF0C)

则按照下面的步骤修改代码:

vi /notebooks/Llama2-Chinese/examples/chat_gradio.py:94 修改中文逗号,为英文逗号,94    demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")=>94    demo.queue().launch(share=False, debug=True, server_name="0.0.0.0")
  • 测试

    浏览器打开地址:http://10.192.x.x:15550/

国内 Llama2 最新下载地址

Llama2-7B官网版本:https://pan.xunlei.com/s/VN_kR2fwuJdG1F3CoF33rwpIA1?pwd=z9kfLlama2-7B-Chat官网版本:https://pan.xunlei.com/s/VN_kQa1_HBvV-X9QVI6jV2kOA1?pwd=xmraLlama2-13B官网版本:https://pan.xunlei.com/s/VN_izibaMDoptluWodzJw4cRA1?pwd=2qqbLlama2-13B-Chat官网版本:https://pan.xunlei.com/s/VN_iyyponyapjIDLXJCNfqy7A1?pwd=t3xwLlama2-7B Hugging Face版本:https://pan.xunlei.com/s/VN_t0dUikZqOwt-5DZWHuMvqA1?pwd=66epLlama2-7B-Chat Hugging Face版本:https://pan.xunlei.com/s/VN_oaV4BpKFgKLto4KgOhBcaA1?pwd=ufirLlama2-13B Hugging Face版本:https://pan.xunlei.com/s/VN_yT_9G8xNOz0SDWQ7Mb_GZA1?pwd=yvgfLlama2-13B-Chat Hugging Face版本:https://pan.xunlei.com/s/VN_yA-9G34NGL9B79b3OQZZGA1?pwd=xqrg

参考

https://github.com/FlagAlpha/Llama2-Chinese
2.https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/tree/main
3.https://github.com/facebookresearch/llama
4.https://huggingface.co/meta-llama

来源地址:https://blog.csdn.net/zengNLP/article/details/131965453

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【AI实战】开源中文 llama2 来了,30 分钟搭建 130 亿参数大模型 Llama2-Chinese-13b-Chat

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录