Docker を使用して、LLaMA2 オープンソース大規模モデルの中国語版をすぐに使い始める

この記事では、Docker コンテナを使用して、友人チームが作成した中国版 LLaMA2 オープン ソース モデルをすぐに使い始める方法について説明します。これは、中国初の真のオープン ソース モデルであり、実行、ダウンロード、プライベート展開が可能で、商用利用もサポートされています。

前に書いてある

昨日の Meta LLaMA2 モデルのオープン ダウンロードの後、「Readme ドキュメントのみ」を含む多くのオープン ソース モデル プロジェクトが GitHub 上に登場し、まさに「チューリップ バブル」物語の先物のように、しばらくの間、さまざまなグループに激しく広がりました。

お昼にご飯を食べているとき、友達に愚痴をこぼしたら、友達が「これは難しいことじゃないから、今夜丸ごと作ろうよ」と言いました。また、これを中国のオープンソースのエコロジーを改善するために使用したいと考えているため、この記事の主役は LLaMA2 モデルの中国版です。

プロジェクトのアドレスは: https://github.com/LinkSoul-AI/ Chinese-Llama-2-7b ;昨日、Docker を使用して LLaMA2 を実行できるオープンソース プロジェクトであるhttps://github.com/soulteary/docker-llama2-chatに、中国語 LLaMA2 モデルのサポートも追加されました。ワンクリックでダウンロード、転送、接続へようこそ。より良い中国のオープンソース環境を一緒に構築しましょう!

LLaMA2 中国オープンソースモデルプロジェクト

もちろん、MetaAI の公式 LLaMA2 ラージ モデルを使用したい場合は、昨日の記事「Docker を使用して公式 LLaMA2 オープンソースラージ モデルをすばやく開始する」を読むことができます。

準備

LLaMA2 モデルの中国語版は、元の LLaMA2 と一致する厳密な入力形式をトレーニングに使用しているため、中国語モデルは元のプログラムと完全に互換性があり、昨日の記事でプログラムを使用する作業負荷が大幅に軽減され、コードは昨日の記事とほぼ同じです。

準備部分では、モデル ファイルとモデル実行環境を準備するという 2 つのステップだけを行う必要があります。

モデルの実行環境については、以前の記事「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()`.

次に、ブラウザを使用して、LLaMA2 チャット モデルの中国語版を開くhttp://localhost:7860か、体験を開始します。http://你的IP:7860

LLaMA2中国語モデルアプリ起動後

開始後、チャットして彼と対話することができます。

現在はモデルの最初のバージョンにすぎず、効果とステータスはまだ過ぎたばかりとしか言えませんが、将来的にはより良いバージョンが反復されるはずです、一緒に楽しみにしましょう。

メモリ使用量

ビデオメモリ消費量は公式オリジナル版と基本的に変わりなく、約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 に関する基本的な記事を 2 つ書きました。次に、大規模なモデル テクノロジを何千もの家庭に迅速に導入できるようにするための、興味深いエンジニアリングの実践とシーン アプリケーションについて説明します。

–EOF


この記事は「Signature 4.0 International (CC BY 4.0)」ライセンス契約を使用していますので、転載・再利用は自由ですが、出典を明記する必要があります。表示 4.0 インターナショナル (CC BY 4.0)

この記事の著者: スー・ヤン

作成時間: 2023 年 7 月 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

おすすめ

転載: blog.csdn.net/soulteary/article/details/131858275