使用 Docker 快速上手中文版 LLaMA2 开源大模型

这篇具有很好参考价值的文章主要介绍了使用 Docker 快速上手中文版 LLaMA2 开源大模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇文章,我们聊聊如何使用 Docker 容器快速上手朋友团队出品的中文版 LLaMA2 开源大模型,国内第一个真正开源,可以运行、下载、私有部署,并且支持商业使用。

写在前面

感慨于昨天 Meta LLaMA2 模型开放下载之后,GitHub 上出现了许多“只有 Readme 文档” 的开源模型项目,并一时间在各个群里疯狂传播,宛如“郁金香泡沫”故事里的期货一般。

中午吃饭的时候,和朋友一起吐槽,朋友说,这玩意又不难,今晚整一个吧。也希望能藉此让中文开源生态变的更好一些,于是本文的主角就有了:中文版 LLaMA2 模型。

项目地址在:https://github.com/LinkSoul-AI/Chinese-Llama-2-7b;昨天开源的能够使用 Docker 运行 LLaMA2 的项目 https://github.com/soulteary/docker-llama2-chat 中,也已经添加了中文 LLaMA2 的模型支持,欢迎下载、转发、一键三连,为一起建设更好的中文开源环境打个气!

使用 Docker 快速上手中文版 LLaMA2 开源大模型,LLaMA2,LLM,Docker,人工智能

当然,如果你想使用 MetaAI 官方的 LLaMA2 大模型,可以翻阅昨天的文章:《使用 Docker 快速上手官方版 LLaMA2 开源大模型》。

准备工作

因为中文版的 LLaMA2 模型采用了严格的和原版 LLaMA2 一致的输入格式进行训练,所以中文模型完全兼容原版程序,这样极大的减少了我们使用昨天文章中程序的工作量,代码几乎和昨天的文章完全一致。

准备工作部分,我们依旧只有两步工作需要做:准备模型文件和模型运行环境。

关于模型运行环境,我们在之前的文章《基于 Docker 的深度学习环境:入门篇》中聊过,就不赘述了,还不熟悉的同学可以阅读参考。

只要你安装好 Docker 环境,配置好能够在 Docker 容器中调用显卡的基础环境,就可以进行下一步啦。

模型下载

中文 LLaMA2 模型完全开源、并开放给所有的人和组织下载使用,所以我们直接使用下面的命令完成模型文件的下载获取就好了:

# 依旧需要确保你安装了 Git LFS (https://git-lfs.com)
git lfs install

# 然后下载我们的中文模型即可
git clone https://huggingface.co/LinkSoul/Chinese-Llama-2-7b

从 HuggingFace 完成模型下载之后,在开始下一步工作前,我们来创建和调整一个目录,以备后用。

# 和昨天一样,创建一个目录
mkdir LinkSoul

# 将模型移动到目录中
mv Chinese-Llama-2-7b LinkSoul/

合适的目录结构类似下面这样。

# tree -L 2 LinkSoul
LinkSoul
└── Chinese-Llama-2-7b
    ├── config.json
    ├── generation_config.json
    ├── pytorch_model-00001-of-00003.bin
    ├── pytorch_model-00002-of-00003.bin
    ├── pytorch_model-00003-of-00003.bin
    ├── pytorch_model.bin.index.json
    ├── README.md
    ├── special_tokens_map.json
    ├── tokenizer_config.json
    └── tokenizer.model

2 directories, 10 files

准备好模型之后,我们准备运行模型。

启动模型应用程序

你使用下面的命令,下载 Docker LLaMA2 Chat 模型应用程序文件:

git clone https://github.com/soulteary/docker-llama2-chat.git

等待程序下载完毕后,我们进入程序目录,然后开始构建中文模型容器镜像:

# 进入程序目录
cd docker-llama2-chat
# 构建中文 7B 镜像
bash scripts/make-7b-cn.sh

耐心等待镜像构建完毕后,我们将之前准备好的存放着模型的 LinkSoul 目录,移动到当前程序目录中,然后选择要启动的模型程序即可:

# 运行中文 7B 镜像,应用程序
bash scripts/run-7b-cn.sh

命令执行后,如果一切顺利,你将看到类似下面的日志:

=============
== PyTorch ==
=============

NVIDIA Release 23.06 (build 63009835)
PyTorch Version 2.1.0a0+4136153

Container image Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

Copyright (c) 2014-2023 Facebook Inc.
Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert)
Copyright (c) 2012-2014 Deepmind Technologies    (Koray Kavukcuoglu)
Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu)
Copyright (c) 2011-2013 NYU                      (Clement Farabet)
Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston)
Copyright (c) 2006      Idiap Research Institute (Samy Bengio)
Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz)
Copyright (c) 2015      Google Inc.
Copyright (c) 2015      Yangqing Jia
Copyright (c) 2013-2016 The Caffe contributors
All rights reserved.

Various files include modifications (c) NVIDIA CORPORATION & AFFILIATES.  All rights reserved.

This container image and its contents are governed by the NVIDIA Deep Learning Container License.
By pulling and using the container, you accept the terms and conditions of this license:
https://developer.nvidia.com/ngc/nvidia-deep-learning-container-license

Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:12<00:00,  4.09s/it]
You are using the legacy behaviour of the <class 'transformers.models.llama.tokenization_llama.LlamaTokenizer'>. This means that tokens that come after special tokens will not be properly handled. We recommend you to read the related pull request available at https://github.com/huggingface/transformers/pull/24565
Caching examples at: '/app/gradio_cached_examples/20'
Caching example 1/5
/usr/local/lib/python3.10/dist-packages/transformers/generation/utils.py:1270: UserWarning: You have modified the pretrained model configuration to control generation. This is a deprecated strategy to control generation and will be removed soon, in a future version. Please use a generation configuration file (see https://huggingface.co/docs/transformers/main_classes/text_generation )
  warnings.warn(
Caching example 2/5
Caching example 3/5
Caching example 4/5
Caching example 5/5
Caching complete

/usr/local/lib/python3.10/dist-packages/gradio/utils.py:839: UserWarning: Expected 7 arguments for function <function generate at 0x7fd4ac3d1000>, received 6.
  warnings.warn(
/usr/local/lib/python3.10/dist-packages/gradio/utils.py:843: UserWarning: Expected at least 7 arguments for function <function generate at 0x7fd4ac3d1000>, received 6.
  warnings.warn(
Running on local URL:  http://0.0.0.0:7860

To create a public link, set `share=True` in `launch()`.

接下来,使用浏览器打开 http://localhost:7860 或者 http://你的IP:7860 就能够开始体验中文版的 LLaMA2 Chat 模型啦。

使用 Docker 快速上手中文版 LLaMA2 开源大模型,LLaMA2,LLM,Docker,人工智能

启动后,你就可以和他开始聊天交互啦。

当前只是第一版的模型,效果和状态只能说刚刚及格,未来应该会有更好的版本迭代出来,我们一起期待吧。

显存使用情况

显存消耗和官方原版基本没有差异,会占用 13G 左右的资源。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  Off |
| 31%   41C    P8    33W / 450W |  14101MiB / 24564MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1434      G   /usr/lib/xorg/Xorg                167MiB |
|    0   N/A  N/A      1673      G   /usr/bin/gnome-shell               16MiB |
|    0   N/A  N/A     27402      C   python                          13914MiB |
+-----------------------------------------------------------------------------+

峰值运行会消耗到 18G 左右的显存。

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  Off |
| 54%   72C    P2   408W / 450W |  18943MiB / 24564MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1434      G   /usr/lib/xorg/Xorg                167MiB |
|    0   N/A  N/A      1673      G   /usr/bin/gnome-shell               16MiB |
|    0   N/A  N/A     27402      C   python                          18756MiB |
+-----------------------------------------------------------------------------+

好了,到此为止,你已经能在本地运行起来中文的 LLaMA2 大模型啦。接下来,你就可以自由发挥啦,比如在 langChain 或者之前的各种任务中,特别具体的指令性工作,不妨用它一试。

最后

在昨天的文章结尾里,我提到了我对于未来开源模型生态是乐观的,但是其实作为技术爱好者和一部分行业相关者,也深知当前国内开源状况并不那么的好,还有非常多可以改善的地方,但是这需要大家一起努力

所以,我希望能够和来自各行各业不同背景和经历的朋友,对开源、对模型感兴趣的朋友,一起踏踏实实为开源生态添砖加瓦,用实际行动,去完善中文开源技术生态,去进行技术布道、让好的技术、好的内容,能够传播的更广泛、大家能够更早的知道和用到这些技术。

如果你感兴趣,一起来玩吧?!

文章的最后,关于 LLaMA2 ,我已经写了两篇基础的内容了,接下来,我们来聊聊有趣的工程实践和场景落地应用吧,让大模型技术能够更快的飞入千家万户。

–EOF


本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

本文作者: 苏洋

创建时间: 2023年07月21日
统计字数: 3599字
阅读时间: 8分钟阅读
本文链接: https://soulteary.com/2023/07/21/use-docker-to-quickly-get-started-with-the-chinese-version-of-llama2-open-source-large-model.html文章来源地址https://www.toymoban.com/news/detail-600821.html

到了这里,关于使用 Docker 快速上手中文版 LLaMA2 开源大模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 中文版LLaMA:Chinese-LLaMA-Alpaca

    GitHub:GitHub - ymcui/Chinese-LLaMA-Alpaca: 中文LLaMAAlpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA Alpaca LLMs) 以ChatGPT、GPT-4等为代表的大语言模型(Large Language Model, LLM)掀起了新一轮自然语言处理领域的研究浪潮,展现出了类通用人工智能(AGI)的能力,受到业界广泛关注。然而,

    2024年02月12日
    浏览(55)
  • Midjourney中文版来了,不用魔法,中文输入,门槛清零让你轻松上手……

    出大事了,AI绘画界马上就要变天了。 大家应该都知道鼎鼎大名的Midjourney吧,就是现在号称与Stable diffusion并立为全球最牛的那个AI绘画工具。 据说这个只有11个员工的AI公司半年时间就搞了20多亿美金,并且在Discord上已经积累了1000多万用户,真挺狠的。 Midjourney目前的盈利主

    2024年02月09日
    浏览(43)
  • 中文版开源Llama 2同时有了语言、多模态大模型,完全可商用

    可以说,AI 初创公司 LinkSoul.Al 的这些开源项目让海外开源大模型在国内的普及和推广速度与国际几乎保持了一致。 7 月 19 日,Meta 终于发布了免费可商用版本 Llama 2,让开源大模型领域的格局发生了巨大变化。 Llama 2 模型系列包含 70 亿、130 亿和 700 亿三种参数变体,相比上

    2024年02月14日
    浏览(40)
  • 类ChatGPT的部署与微调(上):LLaMA到Alpaca、Vicuna、BELLE、中文版

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2023年04月25日
    浏览(43)
  • 类ChatGPT的部署与微调(上):从LLaMA、Alpaca/Vicuna/BELLE、中文版

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2024年02月04日
    浏览(54)
  • 类ChatGPT的部署与微调(上):从TRL到LLaMA、Alpaca/Vicuna/BELLE、中文版

    近期,除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇,100篇目录见此:ChatGPT相关技术必读论文100篇),还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微调等细节)  本文一开始是作为此文《ChatGPT技术

    2023年04月27日
    浏览(45)
  • docker搭建可视化管理面板安装Portainer(中文版)

    1.Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全

    2024年04月16日
    浏览(37)
  • 超详细Windows11家庭中文版系统安装Docker-20230401

    最近在学习DinD,先安装一下docker,docker在windows10以上可以安装了,我的系统是windows11家庭中文版的,就以本系统为例子安装,下图可以查看自己的系统。   1、官网下载docker文件Get Started | Docker,选择download for windows下载。 2、双击打开下载好的文件Docker Desktop Installer.exe, a

    2023年04月25日
    浏览(81)
  • Windows Server 2016中文版安装docker的详细步骤

    强制安装版,慎用!!!有部分docker功能可能用不了喔 下载最新版的安装包,安装并重启 选择数字6,下载并安装更新,弹出黑色对话框后,选择A 让它下载更新并重启,此操作必须进行,否则后续安装会失败或者各种报错类似于linux各种软件版本依 赖 打开 powershell 以管理员

    2024年02月15日
    浏览(49)
  • Docker可视化神器:Portainer-ce(中文版)镜像

    大名鼎鼎的Docker可视化面板Portainer-ce中文版镜像。 拉取镜像: 创建卷: 创建容器并运行: 访问:

    2024年04月16日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包