최근 몇 달 동안 GPT-4, Meta LLaMa 및 Alpaca와 같은 최신 모델이 자연어 처리 및 이를 실행하는 데 필요한 하드웨어의 경계를 확장하면서 대규모 언어 모델이 광범위한 연구 및 개발의 대상이 되었습니다. . 이러한 모델에서 추론을 실행하는 것은 계산적으로 까다로울 수 있으며 실시간 결과를 제공하려면 강력한 하드웨어가 필요합니다.
최근 몇 달 동안 GPT-4, Meta LLaMa 및 Alpaca와 같은 최신 모델이 자연어 처리 및 이를 실행하는 데 필요한 하드웨어의 경계를 확장하면서 대규모 언어 모델이 광범위한 연구 및 개발의 대상이 되었습니다. . 이러한 모델에서 추론을 실행하는 것은 계산적으로 까다로울 수 있으며 실시간 결과를 제공하려면 강력한 하드웨어가 필요합니다.
Storage Review 랩에서는 Meta의 LLaMa 모델을 실행하는 작업에 8000개의 NVIDIA RTX XNUMX GPU를 배치하여 대규모 언어 모델에서 추론을 실행할 때 성능을 확인했습니다. 우리는 레노버 P920 카드의 호스트로 병목 현상을 최소화합니다. RTX 8000은 AI 및 딥 러닝 애플리케이션에서 사용할 수 있는 고급 그래픽 카드이며 각 카드에 48GB의 GDDR6 메모리와 4608 CUDA 코어 덕분에 특별히 선택했습니다. Kevin은 모든 A6000을 비축하고 있습니다.'에스.
Meta LLaMA는 다양한 인터넷 텍스트 집합에서 훈련된 대규모 언어 모델입니다. 공개적으로 사용 가능하며 다양한 자연어 처리 작업에서 최신 결과를 제공합니다. 이 기사에서는 NVIDIA GPU에서 LLaMA 추론을 설정하고 실행하는 방법에 대한 단계별 가이드를 제공할 것입니다. 모든 사람에게 적용되는 것은 아닙니다.
메타 LLaMa 요구 사항
시작하기 전에 다음 요구 사항이 설치되어 있는지 확인해야 합니다.
- VRAM이 최소 16GB인 NVIDIA GPU
- NVIDIA 드라이버 설치됨(최소 버전 440.33)
- CUDA 툴킷이 설치됨(최소 버전 10.1)
- 아나콘다 설치
- PyTorch 설치됨(최소 버전 1.7.1)
- 디스크 공간; 전체 LLaMa 체크포인트 세트가 200TB 이상을 밀고 있습니다.
참고: LLaMA 전용 Anaconda 환경을 사용하는 것이 좋습니다. 테스트 벤치에 몇 가지가 있으므로 패키지와 매개변수를 망칠 수 있고 기본 설치를 호스하지 않을 수 있습니다.
Anaconda에서 전용 환경 한두 개 설정
NVIDIA GPU에서 Meta LLaMA 추론을 실행하는 단계
- LLaMA 리포지토리를 다운로드합니다. 첫 번째 단계는 GitHub에서 LLaMA 리포지토리를 복제하는 것입니다.
git clone https://github.com/EleutherAI/LLaMA.git
- LLaMA 체크포인트 및 토크나이저 가져오기: GitHub 페이지를 방문하고 링크된 Google 양식을 작성하여 다운로드에 액세스하십시오. Alpaca와 같은 다른 LLM을 사용할 수 있습니다. 이를 위해 LLaMa 파일에 액세스할 수 있다고 가정합니다.
- 복제된 리포지토리 디렉터리 내에서 다음 명령을 실행하여 LLaMa에 필요한 프로그램을 나열하고 설치합니다.
pip install -r requirements.txt
pip install -e .
- 추론 스크립트 설정: The
example.py
LLaMA 리포지토리에 제공된 스크립트를 사용하여 LLaMA 추론을 실행할 수 있습니다. 스크립트는 단일 또는 다중 GPU 노드에서 실행할 수 있습니다.torchrun
두 개의 미리 정의된 프롬프트에 대한 완성을 출력합니다.
엽니다 example.py
기본 설정에 따라 다음 매개변수를 설정합니다. 각 매개변수에 대한 설명과 기능은 다음과 같습니다.
--max_seq_len
: 최대 시퀀스 길이(기본값은 2048)--max_batch_size
: 최대 배치 크기(기본값은 8)--gen_length
: 생성 길이(기본값은 512)--temperature
: 생성 온도(기본값은 1.0)--top_p
: top-p 샘플링(기본값은 0.9)
예를 들어 디렉터리에 체크포인트 및 토크나이저 파일이 있는 단일 GPU에서 LLaMA 추론을 실행하려면 /path/to/files
다음 명령을 사용하십시오.
torchrun --nproc_per_node 1 example.py --ckpt_dir /path/to/files --tokenizer_path /path/to/files/tokenizer.model
참고 : nproc_per_node
인수는 모델의 크기와 기본 LLaMa 체크포인트에 필요한 GPU 수에 따라 다릅니다. 실행 중인 시스템 및 모델에 적합한 값을 설정하려면 다음 표를 참조하십시오.
모델 | 필요한 GPU |
---|---|
7B | 1 |
13B | 2 |
33B | 4 |
65B | 8 |
아래 예에서는 예제 파일의 표준 프롬프트를 사용했지만 temperature
그리고 top_p
흥미로운 결과를 낳는 변수. 응답 길이도 늘렸습니다.
온도 조절기를 가지고 놀 때 조심하세요!
알아야 할 example.py 파일 및 변수 분석
이들 중 대부분은 모델 내에서 사전 설정되며 조정할 필요가 없습니다. 그러나 LLM 및 추론을 사용하려는 경우 플래그 및 스위치가 수행하는 작업을 세분화하는 유용한 정보가 있습니다.
local_rank
: 모델 병렬 처리에 사용되는 GPU 그룹에서 현재 GPU(프로세스)의 순위입니다. 이것은 자동으로 설정됩니다.world_size
: 모델 병렬 처리에 사용 중인 총 GPU 수입니다. 이것은 자동으로 설정됩니다.ckpt_dir
: 모델 체크포인트가 포함된 디렉토리입니다. 이는 런타임에 설정됩니다.tokenizer_path
: 텍스트 전처리에 사용되는 토크나이저의 경로입니다. 이는 런타임에 설정됩니다.temperature
: 생성된 텍스트의 무작위성을 제어하는 매개변수입니다(값이 높을수록 출력이 무작위적이며 값이 낮을수록 집중됩니다).top_p
: nucleus sampling 전략을 제어하는 매개변수로 누적확률이 최대top_p
.max_seq_len
: 모델의 입력 및 출력에 대한 최대 시퀀스 길이입니다. 이를 조정하여 VRAM 요구량을 줄일 수 있습니다.max_batch_size
: 모델이 병렬로 처리할 수 있는 최대 입력 시퀀스 수입니다. 이를 조정하여 VRAM 요구량을 줄일 수 있습니다.prompts
: 모델이 기반으로 텍스트를 생성하기 위한 입력 프롬프트 목록입니다.results
: 각 입력 프롬프트에 해당하는 생성된 텍스트 목록입니다.
최종 생각
우리의 테스트는 RTX 8000 GPU가 모델 매개변수와 입력 크기에 따라 몇 초에서 약 XNUMX분에 이르는 추론 시간으로 인상적인 성능을 제공할 수 있음을 보여주었습니다. GPU는 큰 배치 크기를 처리하고 눈에 띄는 속도 저하 없이 동시에 여러 모델에서 추론을 실행할 수 있습니다.
추론에 GPU를 사용하는 이점 중 하나는 시스템에 더 많은 GPU를 추가하여 GPU를 쉽게 확장할 수 있다는 것입니다. 이를 통해 훨씬 더 큰 모델을 실시간으로 실행할 수 있으므로 챗봇, 질문 응답 시스템 및 감정 분석과 같은 영역에서 새로운 애플리케이션을 사용할 수 있습니다.
Alpaca는 Stanford University의 컴퓨터 과학자 팀이 만든 소형 AI 언어 모델입니다. 7억 개의 매개변수를 자랑하고 웹의 방대한 양의 텍스트를 사용하여 훈련된 Meta의 LLaMA 7B 모델을 기반으로 합니다. Alpaca를 미세 조정하기 위해 OpenAI의 text-davinci-52,000 모델로 003개의 명령에 따른 시연이 생성되었습니다. 이 모델은 자연어 명령을 기반으로 다양한 작업을 실행할 수 있는 다목적 모델입니다. Alpaca는 요약, 이야기, 농담 작성을 포함하여 다양한 목적을 위해 지침을 따르고 텍스트를 생성하는 데 더 능숙합니다. 훈련 비용이 600달러 미만인 Alpaca는 비용 효율적이고 쉽게 복제할 수 있도록 설계되었습니다. 매우 인상적으로, Alpaca는 노트북에서도 실행될 수 있다는 점을 언급할 가치가 있습니다. 우리는 Stanford가 수행한 방법을 사용하여 Alpaca와 유사한 모델을 훈련하고 있지만 우리만의 트위스트가 있습니다.
이것은 우리가 실험실에서 최신 기술 발전으로 작업하는 한 가지 방법일 뿐이며 일부 강력한 NVIDIA GPU 덕분에 단순한 추론 이상의 일을 할 수 있습니다. 우리는 훈련하고 있습니다. Meta LLaMa와 같은 미세 조정 모델에 대한 다음 기사를 곧 확인하십시오.
StorageReview에 참여
뉴스레터 | 유튜브 | 팟캐스트 iTunes/스포티 파이 | 인스타그램 | 트위터 | 틱톡 서비스 | RSS 피드