Docker를 사용하여 LLaMA2 오픈 소스 대형 모델의 중국어 버전을 빠르게 시작하십시오.

이 기사에서는 Docker 컨테이너를 사용하여 친구 팀이 제작한 LLaMA2 오픈 소스 모델의 중국어 버전을 빠르게 시작하는 방법에 대해 이야기해 보겠습니다. 이것은 실행, 다운로드, 비공개 배포가 가능하고 상업적 사용을 지원하는 중국 최초의 진정한 오픈 소스 모델입니다.

앞에 쓰여진

어제 Meta LLaMA2 모델의 공개 다운로드 후 GitHub에 "Readme 문서만"인 많은 오픈 소스 모델 프로젝트가 나타나 "튤립 거품" 이야기의 미래처럼 잠시 동안 다양한 그룹으로 널리 퍼졌습니다.

정오에 밥먹다가 친구들이랑 하소연했는데 친구가 이거 어렵지않다 오늘밤에 통째로 만들어보자고 하더라구요. 또한 이것을 사용하여 중국 오픈 소스 생태계를 개선하기를 희망하므로 이 기사의 주인공은 LLaMA2 모델의 중국 버전입니다.

프로젝트 주소: https://github.com/LinkSoul-AI/Chinese-Llama-2-7b ; https://github.com/soulteary/docker-llama2-chat 어제 Docker를 사용하여 LLaMA2를 실행할 수 있는 오픈 소스 프로젝트에 중국어 LLaMA2 모델 지원도 추가되었습니다. 한 번의 클릭으로 다운로드, 전달 및 연결을 환영합니다. 함께 더 나은 중국어 오픈 소스 환경을 구축합시다!

LLaMA2 중국 오픈소스 모델 프로젝트

물론 MetaAI의 공식 LLaMA2 대형 모델을 사용하고 싶다면 어제의 기사 " Using Docker to Quickly Get Started with the Official LLaMA2 Open Source Large Model "을 읽을 수 있습니다.

준비

LLaMA2 모델의 중국어 버전은 훈련을 위해 원본 LLaMA2와 일치하는 엄격한 입력 형식을 사용하기 때문에 중국어 모델은 원본 프로그램과 완벽하게 호환됩니다 . 따라서 어제 기사에서 프로그램을 사용하는 작업 부하가 크게 줄어들고 코드는 어제 기사와 거의 동일합니다.

준비 부분에서는 모델 파일 준비와 모델 실행 환경의 두 단계만 남아 있습니다.

모델 실행 환경에 대해서는 이전 글 " 도커 기반 딥러닝 환경: 시작하기 " 에서 다루었 으므로 자세한 설명은 생략하도록 하겠습니다.

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에 대한 두 가지 기본 기사를 작성했습니다.다음으로 대규모 모델 기술이 수천 가구에 더 빨리 날아갈 수 있도록 흥미로운 엔지니어링 실습 및 장면 응용 프로그램에 대해 이야기하겠습니다.

-EOF


이 문서는 "Signature 4.0 International(CC BY 4.0)" 라이선스 계약을 사용합니다. 이를 재인쇄하거나 재사용하는 것은 환영하지만 출처를 표시해야 합니다. 귀속 4.0 국제(CC BY 4.0)

이 글의 저자: 양수

작성 시간: 2023년 7월 21일 단어
계산: 3599단어
읽기 시간: 읽는 데 8분

추천

출처blog.csdn.net/soulteary/article/details/131858275