'Llama-recipes'저장소는 메타 라마 모델의 동반자입니다. 이 저장소에서 최신 버전 인 Llama 3.2 Vision 및 Llama 3.2 텍스트를 지원합니다. 이 저장소에는 도메인 적응을위한 미세 조정 및 LLM 생태계에 LLM 기반 애플리케이션을 구축하는 등 다양한 사용 사례의 모델을 시작할 수있는 예제 스크립트 및 노트북이 포함되어 있습니다. 여기서 예제는 LLAMA를 로컬, 클라우드 및 온 프레임에 사용합니다.
팁
이 새로운 레시피를 사용하여 Llama 3.2로 시작하십시오.
메모
llama 3.2는 Llama 3.1과 동일한 프롬프트 템플릿을 따릅니다. 새로운 특수 토큰 <|image|> 는 멀티 모달 모델의 입력 이미지를 나타냅니다.
이미지 추론, 도구 용도 및 코드 통역을위한 프롬프트 템플릿에 대한 자세한 내용은 문서 웹 사이트에서 찾을 수 있습니다.
recipes/src/이 지침을 통해 개발 및 테스트 목적으로 로컬 컴퓨터에서 프로젝트 사본을 실행할 수 있습니다. 라이브 시스템에 프로젝트를 배포하는 방법에 대한 메모는 배포를 참조하십시오.
안정적인 릴리스 대신 Pytorch Nightlies를 사용하려면이 안내서로 이동하여 플랫폼의 pip install 명령에 대한 오른쪽 --extra-index-url URL 매개 변수를 검색하십시오.
Llama-Recipes는 다른 프로젝트에서 쉽게 설치하고 사용하기위한 PIP 배포를 제공합니다. 또는 소스에서 설치할 수 있습니다.
메모
Pytorch 휠을 설치할 때 올바른 Cuda 버전 ( nvidia-smi )을 사용하십시오. 여기서 우리는 cu118 로 11.8을 사용하고 있습니다. H100 GPU는 CUDA> 12.0에서 더 잘 작동합니다
pip install llama-recipes
Llama-Recipes는 옵션 패키지 설치를 제공합니다. 세 가지 선택적 종속성 그룹이 있습니다. 단위 테스트를 실행하려면 필요한 종속성을 다음과 같이 설치할 수 있습니다.
pip install llama-recipes[tests]
VLLM 예제에는 다음과 같이 설치할 수있는 추가 요구 사항이 필요합니다.
pip install llama-recipes[vllm]
민감한 주제를 사용하려면 안전 검사기 설치 : 다음과 같이 설치하십시오.
pip install llama-recipes[auditnlg]
일부 레시피에는 랑케인이 필요합니다. 패키지를 설치하려면 레시피 설명을 따르거나 다음과 같이 설치하십시오.
pip install llama-recipes[langchain]
선택적 종속성은 [옵션 1, 옵션 2]와 결합 할 수 있습니다.
개발을 위해 소스에서 설치하려면이 명령을 사용하십시오. 우리는 Hatchling을 Build Backend로 사용하여 최신 PIP 및 SetUptools 패키지가 필요합니다.
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
Llama-Recipes 개발 및 기여하려면 모든 선택적 종속성을 설치하십시오.
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
Hugging Face Hub에서 Llama 모델을 찾을 수 있습니다. 여기서 이름에 hf 가있는 모델은 이미 포옹 페이스 체크 포인트로 변환되어 더 이상 변환이 필요하지 않습니다 . 아래의 변환 단계는 Hugging Face Model Hub에서 호스팅되는 Meta의 원래 모델 가중치에만 해당됩니다.
Meta 웹 사이트에서 모델 체크 포인트가 다운로드 된 경우 다음과 함께 Heenging Face 형식으로 변환 할 수 있습니다.
# # Install Hugging Face Transformers from source
pip freeze | grep transformers # # verify it is version 4.45.0 or higher
git clone [email protected]:huggingface/transformers.git
cd transformers
pip install protobuf
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 3B --output_dir /output/path LLAMA 사용을 다루는 대부분의 코드는 recipes/ 및 src/ 2 가지 주요 폴더에 따라 구성됩니다.
recipes/주제별로 폴더로 구성된 예제가 포함되어 있습니다.
| 하위 폴더 | 설명 |
|---|---|
| QuickStart | llama를 사용하는 "Hello World"는 Llama를 처음 사용한다면 여기에서 시작하십시오. |
| use_cases | 메타 llama3의 일반적인 응용 프로그램을 보여주는 스크립트 |
| 3p_integrations | Meta llama3의 일반적인 응용 프로그램을 보여주는 파트너 소유 폴더 |
| 책임 _ai | 모델 출력을 보호하기 위해 Purplellama를 사용하는 스크립트 |
| 실험 | 실험적인 LLM 기술의 메타 라마 구현 |
src/예제 레시피를 지원하는 모듈이 포함되어 있습니다.
| 하위 폴더 | 설명 |
|---|---|
| 구성 | PEFT 방법, FSDP, 데이터 세트, 웨이트 및 바이어스 실험 추적에 대한 구성 파일이 포함되어 있습니다. |
| 데이터 세트 | 각 데이터 세트에 대한 개별 스크립트가 포함되어 있습니다. 다운로드 및 프로세스. 메모 |
| 추론 | 미세 조정 된 모델에 대한 추론 모듈이 포함되어 있습니다. |
| model_checkpointing | FSDP 체크 포인트 핸들러가 포함되어 있습니다. |
| 정책 | 혼합 정밀, 변압기 래핑 정책 및 활성화 체크 패인팅과 같은 정밀 최적화 (순수한 BF16 모드로 FSDP를 실행하는 데 사용)와 같은 다양한 정책을 제공하기위한 FSDP 스크립트가 포함되어 있습니다. |
| utils | 유틸리티 파일 :train_utils.py 교육/평가 루프 및 더 많은 기차 이용을 제공합니다.- dataset_utils.py 전처리 데이터 세트를 얻을 수 있습니다.-CLI에서 수신 한 구성을 무시하려면 config_utils.py .fsdp_utils.py PEFT 방법에 대한 FSDP 랩핑 정책을 제공합니다.memory_utils.py Context Manager 열차 루프에서 다른 메모리 통계를 추적합니다. |
이 저장소의 레시피 및 모듈은 다음과 같은 기능을 지원합니다.
| 특징 | |
|---|---|
| HF 추론 지원 | ✅ |
| Finetuning에 대한 HF 지원 | ✅ |
| PEFT | ✅ |
| 연기 초기화 (메타 init) | ✅ |
| 멀티 GPU의 낮은 CPU 모드 | ✅ |
| 혼합 정밀도 | ✅ |
| 단일 노드 양자화 | ✅ |
| 플래시주의 | ✅ |
| 활성화 체크 포인팅 FSDP | ✅ |
| 하이브리드 샤드 데이터 평행 (HSDP) | ✅ |
| 데이터 세트 포장 및 패딩 | ✅ |
| BF16 Optimizer (순수 BF16) | ✅ |
| 프로파일 링 및 MFU 추적 | ✅ |
| 그라디언트 축적 | ✅ |
| CPU 오프로드 | ✅ |
| FSDP 체크 포인트는 추론을 위해 HF로 변환합니다 | ✅ |
| W & B 실험 추적기 | ✅ |
당사의 행동 강령에 대한 자세한 내용과 당사에 풀 요청을 제출하는 프로세스는 Contributing.md를 읽으십시오.
Meta Llama 3.2의 라이센스 파일과 여기에서 허용 가능한 사용 정책을 참조하십시오.
Meta Llama 3.1의 라이센스 파일과 여기에서 허용 가능한 사용 정책을 참조하십시오.
Meta Llama 3의 라이센스 파일과 여기에서 허용 가능한 사용 정책을 참조하십시오.
Meta Llama 2의 라이센스 파일과 여기에서 허용 가능한 사용 정책을 참조하십시오.