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

news2024/12/29 1:21:04

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

    • 简介
    • 环境配置
      • 环境搭建
      • 依赖安装
    • 代码及模型权重拉取
      • 拉取 Llama2-Chinese
      • 拉取 Llama2-Chinese-13b-Chat 模型权重及代码
    • 终端测试
    • 页面测试
      • 安装 gradio
      • 加载模型并启动服务
    • 国内 Llama2 最新下载地址
    • 参考

简介

  • Llama2
    2023年7月19日:Meta 发布开源可商用模型 Llama2。

    Llama2 是一个预训练和微调的生成文本模型的集合,其规模从70亿到700亿个参数不等。

    LLaMA2 的详细介绍可以参考这篇文章:【大模型】更强的 LLaMA2 来了,开源可商用、与 ChatGPT 齐平

  • Llama2-Chinese

    Llama2中文社区

    Llama2-Chinese GitHub地址

    Llama2 中文 Hugging Face仓库 FlagAlpha: https://huggingface.co/FlagAlpha

    Llama2在线体验链接 llama.family

    模型数据:
    截图02.png

    中文微调参数:
    截图01.png

环境配置

环境搭建

  • 系统环境

    • 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 /notebooks
wget 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 llama2
conda init

exit退出docker,重新进入docker

docker exec -it llama2_chinese  env LANG=C.UTF-8 /bin/bash
cd /notebooks
conda 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-Chinese
git 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.bin
wget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00002-of-00003.bin
wget https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat/resolve/main/pytorch_model-00003-of-00003.bin

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

终端测试

进入python环境:

python3

输入代码:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model = 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_token
input_ids = tokenizer(['<s>Human: 介绍一下深圳\n</s><s>Assistant: '], 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=z9kf

Llama2-7B-Chat官网版本:https://pan.xunlei.com/s/VN_kQa1_HBvV-X9QVI6jV2kOA1?pwd=xmra

Llama2-13B官网版本:https://pan.xunlei.com/s/VN_izibaMDoptluWodzJw4cRA1?pwd=2qqb

Llama2-13B-Chat官网版本:https://pan.xunlei.com/s/VN_iyyponyapjIDLXJCNfqy7A1?pwd=t3xw

Llama2-7B Hugging Face版本:https://pan.xunlei.com/s/VN_t0dUikZqOwt-5DZWHuMvqA1?pwd=66ep

Llama2-7B-Chat Hugging Face版本:https://pan.xunlei.com/s/VN_oaV4BpKFgKLto4KgOhBcaA1?pwd=ufir

Llama2-13B Hugging Face版本:https://pan.xunlei.com/s/VN_yT_9G8xNOz0SDWQ7Mb_GZA1?pwd=yvgf

Llama2-13B-Chat Hugging Face版本:https://pan.xunlei.com/s/VN_yA-9G34NGL9B79b3OQZZGA1?pwd=xqrg

参考

1.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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

配置VS Code 使其支持vue项目断点调试

起因 每个应用&#xff0c;不论大小&#xff0c;都需要理解程序是如何运行失败的。当我们写的程序没有按照自己写的逻辑走的时候&#xff0c;我们就会逐步一一排查问题。在平常开发过程中我们可能会借助 console.log 来排查,但是现在我们可以借助 VS Code 断点来调试项目。 前…

Linux下查阅帮助文档必学命令 man

Linux操作系统的使用中,我们经常会遇到很多问题,这个时候查询文档的能力至关重要,黄老师来推荐大家使用man,这时我们必须掌握的查阅能力: 最常用的命令: man 名称 man 数字(1~9) 名称 这里的数字分别代表:

JavaWeb 项目实现(四) 验证旧密码

1.验证旧密码 步骤很简单&#xff0c;从Session中取到当前密码&#xff0c;和修改密码界面得到的旧密码对比&#xff0c;判断是否相等。 特别之处在于实现用到了Ajax&#xff0c;可以不刷新整个页面的情况下与Web服务器进行通信。 2.Ajax Ajax&#xff08;Asynchronous Java…

使用Gunicorn+Nginx部署Flask项目

部署-开发机上的准备工作 确认项目没有bug。用pip freeze > requirements.txt将当前环境的包导出到requirements.txt文件中&#xff0c;方便部署的时候安装。将项目上传到服务器上的/srv目录下。这里以git为例。使用git比其他上传方式&#xff08;比如使用pycharm&#xff…

深度学习之用PyTorch实现线性回归

代码 # 调用库 import torch# 数据准备 x_data torch.Tensor([[1.0], [2.0], [3.0]]) # 训练集输入值 y_data torch.Tensor([[2.0], [4.0], [6.0]]) # 训练集输出值# 定义线性回归模型 class LinearModel(torch.nn.Module):def __init__(self):super(LinearModel, self)._…

nodejs安装及多版本安装与TS环境搭建

nodejs安装及多版本安装与TS环境搭建 方法一&#xff1a; 普通安装nodejs,确定只能安装一个。网址&#xff1a;链接: 官网 不同系统下安装&#xff1a;不同系统下的nodejs 方法二&#xff1a; 借助工具nvm&#xff0c;安装多个nodejs&#xff0c;随时切换nodejs版本 什么是…

禁止别人调试自己的前端页面代码

✨ 目录 &#x1f388; 为啥要禁止&#xff1f;&#x1f388; 无限 debugger&#x1f388; 无限 debugger 的对策&#x1f388; 禁止断点的对策&#x1f388; 忽略执行的代码&#x1f388; 忽略执行代码的对策&#x1f388; 终极增强防调试代码 &#x1f388; 为啥要禁止&#…

简约好看的帮助中心创建案例,赶紧点赞收藏!

在线帮助中心创建案例是提供用户支持和解决问题的有效方式之一。一个简约好看的帮助中心案例能够帮助用户快速找到需要的信息并解决问题&#xff0c;同时也能提升用户体验&#xff0c;增加点赞和收藏的可能性。 帮助中心创建案例分享&#xff1a; 酷学院&#xff1a; 酷渲&a…

item_get-KS-获取商品详情

一、接口参数说明&#xff1a; item_get-根据ID取商品详情 &#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/ks/item_get 名称类型必须描述keyString是调用key&#xff08;http://o0b.cn/…

‘vite‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

1.切换到工程目录下 2.执行npm install(最关键的一步了&#xff01;&#xff01;) 3. 最后直接运行&#xff1a;npm run dev 4.浏览器直接打开就行了&#xff01;

断网监测网关可以自动重启路由器

网络设备监测系统是一种用于监测远程网络设备状态的设备&#xff0c;它可以通过断网、断电和网线监测等多种方式进行监测。该系统支持同时监测7台网络设备&#xff0c;并且具有1路继电器输出&#xff0c;可以用于自动重启或者远程重启网络设备。 网络设备监测系统内置微型处理器…

VR 变电站事故追忆反演——正泰电力携手图扑

VR(Virtual Reality&#xff0c;虚拟现实)技术作为近年来快速发展的一项新技术&#xff0c;具有广泛的应用前景&#xff0c;支持融合人工智能、机器学习、大数据等技术&#xff0c;实现更加智能化、个性化的应用。在电力能源领域&#xff0c;VR 技术在高性能计算机和专有设备支…

前端代码注释率

nodejs差代码注释率 /*** author duan* source https://editor.csdn.net/md/?not_checkout1&spm1011.2124.3001.6192* date 2023-7-7* * 统计指定目录下代码行数及注释率* * 用法: node count.js <路径> [后缀名]...* 后缀名不填的话默认为统计 .js 和 .ts 文件* *…

类Blip2的视觉文本多模态算法

一、Blip2出现的意义不比ChatGPT差 BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 论文链接&#xff1a;https://arxiv.org/abs/2301.12597 代码仓库&#xff1a;https://github.com/salesforce/LAVIS/tree/mai…

解密GIS系统:数字化地球的智慧导航之道

作为现代科技与地理信息的完美结合&#xff0c;地理信息系统&#xff08;GIS&#xff09;在如今的社会中发挥着越来越重要的作用。GIS系统通过整合地理数据、分析空间关系和可视化信息&#xff0c;为我们呈现了一个数字化的地球&#xff0c;带来了许多令人惊叹的功能与作用。 ①…

服务器返回 413 Request Entity Too Large

问题 上传一个大于1.5M的文件时,报错:413 Request Entity Too Large 使用的配置 1、用的是docker环境,还有一层代理,代理用的镜像是:jwilder/nginx-proxy 2、docker里是有php和nginx 确认配置 docker里的php和nginx都配置了上传的限制是20M以上,包括请求超时时间也是…

【unity之IMGUI实践】游戏结束流程封装实现【七】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

把握前沿大模型风向标?这场大会一定不能错过!

2023年全球AI浪潮迭起&#xff0c;大语言模型热度空前&#xff0c;生成式人工智能为千行百业高质量发展带来更多想象空间。作为前沿科技风向标、汇聚全球开发者的顶级盛会&#xff0c;WAVE SUMMIT 2023深度学习开发者峰会正式定档8月16日&#xff0c;在北京望京凯悦酒店召开。本…

振弦采集仪完整链条的岩土工程隧道安全监测

振弦采集仪完整链条的岩土工程隧道安全监测 隧道工程是一种特殊的地下工程&#xff0c;其建设过程及运行期间&#xff0c;都受到各种内外力的作用&#xff0c;如水压、地震、地质变形、交通荷载等&#xff0c;这些因素都会对隧道的安全性产生影响。因此&#xff0c;对隧道的安…

【C++】开源:mumble跨平台语音通信配置使用

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍mumble跨平台语音通信。 无专精则不能成&#xff0c;无涉猎则不能通。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下…