WeChat 또는 NPU 사용자 그룹에 가입하세요.
[ 한국어 | 중국어 ]
대규모 언어 모델을 미세 조정하는 것은 다음과 같이 쉬울 수 있습니다.
경로를 선택하세요:
Colab : https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing
PAI-DSW : Llama3 예 | Qwen2-VL 예
로컬 머신 : 사용법을 참고하세요
문서(WIP) : https://llamafactory.readthedocs.io/zh-cn/latest/
최근 활동:
2024/10/18-2024/11/30 : PAI+LLaMA Factory를 사용하여 개인 투어 가이드 봇을 구축합니다. [웹사이트]
메모
위의 링크를 제외한 다른 모든 웹사이트는 승인되지 않은 제3자 웹사이트입니다. 주의 깊게 사용하시기 바랍니다.
특징
기준
변경 내역
지원되는 모델
지원되는 교육 접근 방식
제공된 데이터 세트
요구 사항
시작하기
LLaMA Factory를 활용한 프로젝트
특허
소환
승인
다양한 모델 : LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Qwen2-VL, Yi, Gemma, Baichuan, ChatGLM, Phi 등
통합 방법 : (지속적) 사전 훈련, (다중 모드) 감독 미세 조정, 보상 모델링, PPO, DPO, KTO, ORPO 등
확장 가능한 리소스 : AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ를 통한 16비트 전체 조정, 동결 조정, LoRA 및 2/3/4/5/6/8비트 QLoRA.
고급 알고리즘 : GaLore, BAdam, Adam-mini, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA 및 에이전트 튜닝.
실용적인 트릭 : FlashAttention-2, Unsloth, Liger Kernel, RoPE 스케일링, NEFTune 및 rsLoRA.
실험 모니터 : LlamaBoard, TensorBoard, Wandb, MLflow 등
더 빠른 추론 : OpenAI 스타일 API, Gradio UI 및 vLLM 작업자가 포함된 CLI.
ChatGLM의 P-Tuning에 비해 LLaMA Factory의 LoRA 튜닝은 광고문안 생성 작업에서 더 나은 Rouge 점수로 훈련 속도가 최대 3.7배 더 빠릅니다 . LLaMA Factory의 QLoRA는 4비트 양자화 기술을 활용하여 GPU 메모리 효율성을 더욱 향상시킵니다.

훈련 속도 : 훈련 중 초당 처리되는 훈련 샘플 수입니다. (bs=4, cutoff_len=1024)
Rouge Score : 광고문안 생성과제의 개발세트에 대한 Rouge-2 점수입니다. (bs=4, cutoff_len=1024)
GPU 메모리 : 4비트 양자화 훈련에서 최대 GPU 메모리 사용량입니다. (bs=1, cutoff_len=1024)
ChatGLM의 P-Tuning에는 pre_seq_len=128 , LLaMA Factory의 LoRA 튜닝에는 lora_rank=32 채택했습니다.
[24/10/09] 우리는 Modelers Hub 에서 사전 훈련된 모델 및 데이터 세트 다운로드를 지원했습니다. 사용법은 이 튜토리얼을 참조하세요.
[24/09/19] Qwen2.5 모델의 미세 조정을 지원합니다.
[24/08/30] Qwen2-VL 모델의 미세 조정을 지원합니다. @simonJJJ의 PR에 감사드립니다.
[24/08/27] Liger 커널을 지원합니다. 효율적인 훈련을 위해서는 enable_liger_kernel: true 사용해 보세요.
[24/08/09] Adam-mini 옵티마이저를 지원합니다. 사용법에 대한 예를 참조하세요. @relic-yuexi님의 PR에 감사드립니다.
[24/07/04] 오염 없는 패키지 교육을 지원합니다. 활성화하려면 neat_packing: true 사용하세요. @chuan298님의 홍보에 감사드립니다.
[24/06/16] PiSSA 알고리즘을 지원합니다. 사용법에 대한 예를 참조하세요.
[24/06/07] Qwen2 및 GLM-4 모델의 미세 조정을 지원했습니다.
[24/05/26] 선호 학습을 위한 SimPO 알고리즘을 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/05/20] PaliGemma 시리즈 모델의 미세 조정을 지원했습니다. PaliGemma 모델은 사전 훈련된 모델이므로 채팅 완료를 위해 paligemma 템플릿을 사용하여 미세 조정해야 합니다.
[24/05/18] 선호 학습을 위한 KTO 알고리즘을 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/05/14] 우리는 Ascend NPU 장치에 대한 훈련 및 추론을 지원했습니다. 자세한 내용은 설치 섹션을 확인하세요.
[24/04/26] LLaVA-1.5 다중 모드 LLM의 미세 조정을 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/04/22] 무료 T4 GPU에서 Llama-3 모델을 미세 조정하기 위한 Colab 노트북을 제공했습니다. Llama Factory를 사용하여 미세 조정된 두 개의 Llama-3 파생 모델이 Hugging Face에서 제공됩니다. 자세한 내용은 Llama3-8B-English-Chat 및 Llama3-English를 확인하세요.
[24/04/21] AstraMindAI 구현에 따라 Mixture-of-Depths를 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/04/16] BAdam 옵티마이저를 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/04/16] unsloth 의 긴 시퀀스 훈련(24GB 이내 Llama-2-7B-56k)을 지원했습니다. FlashAttention-2에 비해 속도는 117% , 메모리는 50% 향상되었습니다. 이 페이지에서 더 많은 벤치마크를 확인할 수 있습니다.
[24/03/31] ORPO를 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/03/21] 우리 논문 "LlamaFactory: 100개 이상의 언어 모델의 통합 효율적 미세 조정"이 arXiv에서 확인 가능합니다!
[24/03/20] 2x24GB GPU에서 70B 모델을 미세 조정하는 FSDP+QLoRA를 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/03/13] LoRA+를 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/03/07] GaLore 최적화 프로그램을 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/03/07] 더 빠르고 동시적인 추론을 위해 vLLM을 통합했습니다. infer_backend: vllm 사용해 270% 추론 속도를 즐겨보세요.
[24/02/28] 가중치 분해 LoRA( DoRA )를 지원했습니다. DoRA 교육을 활성화하려면 use_dora: true 사용해 보세요.
[24/02/15] LLaMA Pro에서 제안한 블록 확장을 지원했습니다. 사용법에 대한 예를 참조하세요.
[24/02/05] Qwen1.5(Qwen2 베타 버전) 시리즈 모델이 LLaMA-Factory에서 지원됩니다. 자세한 내용은 이 블로그 게시물을 확인하세요.
[24/01/18] 대부분의 모델에 대해 에이전트 튜닝을 지원했으며, dataset: glaive_toolcall_en 로 미세 조정하여 모델에 도구 사용 기능을 제공했습니다.
[23/12/23] LLaMA, Mistral 및 Yi 모델에 대한 LoRA 튜닝을 강화하기 위해 unsloth 구현을 지원했습니다. unsloth 패치를 활성화하려면 use_unsloth: true 인수를 사용해 보세요. 벤치마크에서 170%의 속도를 달성했습니다. 자세한 내용은 이 페이지를 확인하세요.
[23/12/12] 우리는 프레임워크에서 최신 MoE 모델 Mixtral 8x7B 의 미세 조정을 지원했습니다. 여기에서 하드웨어 요구 사항을 확인하세요.
[23/12/01] 우리는 ModelScope Hub 에서 사전 훈련된 모델과 데이터세트를 다운로드하는 것을 지원했습니다. 사용법은 이 튜토리얼을 참조하세요.
[23/10/21] 미세 조정을 위해 NEFTune 트릭을 지원했습니다. NEFTune을 활성화하려면 neftune_noise_alpha: 5 인수를 사용해 보세요.
[23/09/27] 지원했습니다 shift_attn: true 인수를 사용해 보세요.
[23/09/23] 우리는 이 저장소에 MMLU, C-Eval 및 CMMLU 벤치마크를 통합했습니다. 사용법에 대한 예를 참조하세요.
[23/09/10] FlashAttention-2를 지원했습니다. RTX4090, A100 또는 H100 GPU를 사용하는 경우 flash_attn: fa2 인수를 사용하여 FlashAttention-2를 활성화해 보세요.
[23/08/12] LLaMA 모델의 컨텍스트 길이를 확장하기 위해 RoPE 확장을 지원했습니다. rope_scaling: linear 인수 및 rope_scaling: dynamic 인수를 사용해 위치 임베딩을 추정해 보세요.
[23/08/11] 우리는 지침 조정 모델에 대한 DPO 교육을 지원했습니다. 사용법에 대한 예를 참조하세요.
[23/07/31] 데이터 세트 스트리밍을 지원했습니다. 스트리밍 모드에서 데이터 세트를 로드하려면 streaming: true 및 max_steps: 10000 인수를 사용해 보세요.
[23/07/29] Hugging Face에서 지침에 맞게 조정된 13B 모델 2개를 출시했습니다. 자세한 내용은 Hugging Face Repos(LLaMA-2 / Baichuan)를 참조하세요.
[23/07/18] 우리는 훈련, 평가, 추론을 위한 올인원 웹 UI를 개발했습니다. 웹 브라우저에서 모델을 미세 조정하려면 train_web.py 사용해 보세요. 개발에 힘써주신 @KanadeSiina와 @codemayq에게 감사드립니다.
[23/07/09] 대규모 언어 모델의 사실적 지식을 효율적으로 편집하기 위한 사용하기 쉬운 패키지인 FastEdit ⚡?를 출시했습니다. 관심이 있으시면 FastEdit을 팔로우하세요.
[23/06/29] 지침을 따르는 데이터 세트를 사용하여 채팅 모델을 훈련하는 재현 가능한 예를 제공했습니다. 자세한 내용은 Baichuan-7B-sft를 참조하세요.
[23/06/22] 데모 API를 임의의 ChatGPT 기반 애플리케이션 에 미세 조정된 모델을 삽입할 수 있는 OpenAI 형식에 맞춰 조정했습니다.
[23/06/03] 우리는 양자화된 훈련 및 추론( QLoRA 라고도 함)을 지원했습니다. 사용법에 대한 예를 참조하세요.
| 모델 | 모델 크기 | 주형 |
|---|---|---|
| 바이촨 2 | 7B/13B | 백천2 |
| 블룸/블룸즈 | 560M/1.1B/1.7B/3B/7.1B/176B | - |
| 채팅GLM3 | 6B | chatglm3 |
| 명령 R | 35B/104B | 응집하다 |
| DeepSeek(코드/MoE) | 7B/16B/67B/236B | 깊은 탐색 |
| 매 | 7B/11B/40B/180B | 매 |
| 젬마/젬마 2/CodeGemma | 2B/7B/9B/27B | 아체 |
| GLM-4 | 9B | glm4 |
| 인턴LM2/인턴LM2.5 | 7B/20B | 인턴2 |
| 야마 | 7B/13B/33B/65B | - |
| 라마 2 | 7B/13B/70B | 라마2 |
| 라마 3-3.2 | 1B/3B/8B/70B | 라마3 |
| LLaVA-1.5 | 7B/13B | 라바 |
| LLaVA-넥스트 | 7B/8B/13B/34B/72B/110B | llava_next |
| LLaVA-NeXT-비디오 | 7B/34B | llava_next_video |
| 미니CPM | 1B/2B/4B | CPM/CPM3 |
| 미스트랄/믹스트랄 | 7B/8x7B/8x22B | 미스트랄 |
| OLMo | 1B/7B | - |
| 팔리젬마 | 3B | 팔리젬마 |
| 파이-1.5/파이-2 | 1.3B/2.7B | - |
| 파이-3 | 4B/7B/14B | 파이 |
| 픽스트랄 | 12B | 픽스트랄 |
| Qwen(1-2.5)(코드/수학/MoE) | 0.5B/1.5B/3B/7B/14B/32B/72B/110B | 퀀 |
| Qwen2-VL | 2B/7B/72B | qwen2_vl |
| 스타코더 2 | 3B/7B/15B | - |
| 엑스버스 | 7B/13B/65B | 엑스버스 |
| Yi/Yi-1.5 (코드) | 1.5B/6B/9B/34B | 이 |
| 이-VL | 6B/34B | yi_vl |
| 2위안 | 2B/51B/102B | 원 |
메모
"기본" 모델의 경우 template 인수는 default , alpaca , vicuna 등에서 선택할 수 있습니다. 그러나 "instruct/chat" 모델에는 해당 템플릿을 사용해야 합니다.
훈련과 추론에 SAME 템플릿을 사용하는 것을 잊지 마세요.
우리가 지원하는 모델의 전체 목록을 보려면 Constants.py를 참조하세요.
template.py에 사용자 정의 채팅 템플릿을 추가할 수도 있습니다.
| 접근하다 | 풀튜닝 | 동결 조정 | 로라 | QLoRA |
|---|---|---|---|---|
| 사전 훈련 | ✅ | ✅ | ✅ | ✅ |
| 감독된 미세 조정 | ✅ | ✅ | ✅ | ✅ |
| 보상 모델링 | ✅ | ✅ | ✅ | ✅ |
| PPO 교육 | ✅ | ✅ | ✅ | ✅ |
| DPO 교육 | ✅ | ✅ | ✅ | ✅ |
| 공사교육 | ✅ | ✅ | ✅ | ✅ |
| ORPO 교육 | ✅ | ✅ | ✅ | ✅ |
| SimPO 교육 | ✅ | ✅ | ✅ | ✅ |
팁
PPO 구현 세부 사항은 이 블로그에서 확인할 수 있습니다.
위키 데모(en)
RefinedWeb (ko)
RedPajama V2 (en)
위키피디아(en)
위키피디아(zh)
더미 (en)
스카이파일(zh)
파인웹(en)
FineWeb-Edu (en)
스택(en)
스타코더(ko)
ID(en&zh)
스탠포드 알파카 (en)
스탠포드 알파카(zh)
알파카 GPT4(en&zh)
Glaive 함수 호출 V2 (en&zh)
리마(en)
Guanaco 데이터세트(다국어)
벨 2M(zh)
벨 1M(zh)
벨 0.5M(zh)
BELLE 대화 0.4M (zh)
BELLE 학교 수학 0.25M (zh)
BELLE 멀티턴 채팅 0.8M (zh)
울트라챗(ko)
오픈플라티푸스(en)
CodeAlpaca 20k(en)
알파카 CoT(다국어)
오픈오르카(en)
SlimOrca (en)
MathInstruct (en)
반딧불이 1.1M(zh)
위키 QA(en)
웹 QA(zh)
웹소설(zh)
넥타(en)
deepctrl(en&zh)
광고 생성 중(zh)
ShareGPT 하이퍼필터링(en)
공유GPT4(en&zh)
UltraChat 200k(en)
AgentInstruct(ko)
LMSYS 채팅 1M (en)
Evol Instruct V2 (en)
코스모피디아(en)
줄기(zh)
루오지바(zh)
Neo-sft(zh)
WebInstructSub (en)
Magpie-Pro-300K-필터링(en)
Magpie-ultra-v0.1 (en)
LLaVA 혼합(en&zh)
Pokemon-gpt4o-캡션(en&zh)
도우미 열기(de)
돌리 15k(드)
알파카 GPT4 (de)
OpenSchnabeltier(드)
Evol 지시 (de)
돌고래 (드)
북섬(de)
아이로보로스(de)
울트라챗(de)
DPO 혼합(en&zh)
울트라피드백(ko)
RLHF-V (en)
VLF피드백(en)
Orca DPO 쌍(en)
HH-RLHF(en)
넥타(en)
오르카 DPO(de)
KTO 혼합(en)
일부 데이터 세트는 사용하기 전에 확인이 필요하므로 이러한 명령을 사용하여 Hugging Face 계정으로 로그인하는 것이 좋습니다.
pip install --huggingface_hub 업그레이드 Huggingface-cli 로그인
| 필수적인 | 최저한의 | 추천하다 |
|---|---|---|
| 파이썬 | 3.8 | 3.11 |
| 토치 | 1.13.1 | 2.4.0 |
| 변압기 | 4.41.2 | 4.43.4 |
| 데이터 세트 | 2.16.0 | 2.20.0 |
| 가속하다 | 0.30.1 | 0.32.0 |
| 페프트 | 0.11.1 | 0.12.0 |
| 트롤 | 0.8.6 | 0.9.6 |
| 선택 과목 | 최저한의 | 추천하다 |
|---|---|---|
| 쿠다 | 11.6 | 12.2 |
| 딥스피드 | 0.10.0 | 0.14.0 |
| 비트샌드바이트 | 0.39.0 | 0.43.1 |
| vllm | 0.4.3 | 0.5.0 |
| 플래시 Attn | 2.3.0 | 2.6.3 |
* 추정된
| 방법 | 비트 | 7B | 13B | 30B | 70B | 110B | 8x7B | 8x22B |
|---|---|---|---|---|---|---|---|---|
| 가득한 | 앰프 | 120GB | 240GB | 600GB | 1200GB | 2000GB | 900GB | 2400GB |
| 가득한 | 16 | 60GB | 120GB | 300GB | 600GB | 900GB | 400GB | 1200GB |
| 꼭 매달리게 하다 | 16 | 20GB | 40GB | 80GB | 200GB | 360GB | 160GB | 400GB |
| LoRA/GaLore/BAdam | 16 | 16GB | 32GB | 64GB | 160GB | 240GB | 120GB | 320GB |
| QLoRA | 8 | 10GB | 20GB | 40GB | 80GB | 140GB | 60GB | 160GB |
| QLoRA | 4 | 6GB | 12GB | 24GB | 48GB | 72GB | 30GB | 96GB |
| QLoRA | 2 | 4GB | 8GB | 16GB | 24GB | 48GB | 18GB | 48GB |
중요한
설치는 필수입니다.
git clone --깊이 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory pip install -e ".[토치,메트릭]"
추가 종속성 사용 가능: torch, torch-npu,metrics, deepspeed, liger-kernel, bitandbytes, hqq, eetq, gptq, awq, aqlm, vllm, galore, badam, adam-mini, qwen, modelscope, openmind, quality
팁
pip install --no-deps -e . 패키지 충돌을 해결합니다.
Windows 플랫폼에서 양자화된 LoRA(QLoRA)를 활성화하려면 CUDA 11.1~12.2를 지원하는 미리 빌드된 버전의 bitsandbytes 라이브러리를 설치해야 합니다. CUDA 버전에 따라 적절한 릴리스 버전을 선택하십시오.
pip 설치 https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
Windows 플랫폼에서 FlashAttention-2를 활성화하려면 CUDA 12.1~12.2를 지원하는 사전 컴파일된 flash-attn 라이브러리를 설치해야 합니다. 귀하의 요구 사항에 따라 flash-attention에서 해당 버전을 다운로드하십시오.
Ascend NPU 장치에 LLaMA Factory를 설치하려면 추가 종속성을 지정하십시오: pip install -e ".[torch-npu,metrics]" . 추가적으로 Ascend CANN 툴킷과 커널을 설치해야 합니다. 설치 튜토리얼을 따르거나 다음 명령을 사용하십시오:
# CANN 버전 및 장치에 따라 URL을 교체합니다. # CANN Toolkit을 설치합니다.wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-toolkit_8 .0.RC1.alpha001_linux-"$(uname -i)".run bash Ascend-cann-toolkit_8.0.RC1.alpha001_linux-"$(uname -i)".run --install# CANN Kernelswget 설치 https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run bash Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run --install# 환경 변수 설정소스 /usr/local/Ascend/ascend-toolkit/set_env.sh
| 요구 사항 | 최저한의 | 추천하다 |
|---|---|---|
| 칸 | 8.0.RC1 | 8.0.RC1 |
| 토치 | 2.1.0 | 2.1.0 |
| 토치-엔푸 | 2.1.0 | 2.1.0.포스트3 |
| 딥스피드 | 0.13.2 | 0.13.2 |
사용할 장치를 지정하려면 CUDA_VISIBLE_DEVICES 대신 ASCEND_RT_VISIBLE_DEVICES 를 사용해야 합니다.
NPU 장치에서 모델을 추론할 수 없는 경우 구성에서 do_sample: false 설정해 보세요.
사전 빌드된 Docker 이미지 다운로드: 32GB | 64GB
데이터셋 파일의 형식에 대한 자세한 내용은 data/README.md를 참고하시기 바랍니다. HuggingFace / ModelScope / Modelers 허브에서 데이터세트를 사용하거나 로컬 디스크에 데이터세트를 로드할 수 있습니다.
메모
사용자 정의 데이터세트를 사용하려면 data/dataset_info.json 업데이트하세요.
다음 3개의 명령을 사용하여 Llama3-8B-Instruct 모델의 LoRA 미세 조정 , 추론 및 병합을 각각 실행합니다.
llamafactory-cli 열차 예제/train_lora/llama3_lora_sft.yaml llamafactory-cli 채팅 예제/inference/llama3_lora_sft.yaml llamafactory-cli 내보내기 예제/merge_lora/llama3_lora_sft.yaml
고급 사용법(분산 교육 포함)은 example/README.md를 참조하세요.
팁
도움말 정보를 표시하려면 llamafactory-cli help 사용하십시오.
라마팩토리-cli webui
CUDA 사용자의 경우:
CD 도커/docker-cuda/ 도커 작성 -d docker compose exec llamafactory bash
Ascend NPU 사용자의 경우:
CD 도커/docker-npu/ 도커 작성 -d docker compose exec llamafactory bash
AMD ROCm 사용자의 경우:
CD 도커/docker-rocm/ 도커 작성 -d docker compose exec llamafactory bash
CUDA 사용자의 경우:
docker build -f ./docker/docker-cuda/Dockerfile
--build-arg INSTALL_BNB=false
--build-arg INSTALL_VLLM=false
--build-arg INSTALL_DEEPSPEED=false
--build-arg INSTALL_FLASHATTN=false
--build-arg PIP_INDEX=https://pypi.org/simple
-t llamafactory:최신 .docker 실행 -dit --gpus=all
-v ./hf_cache:/root/.cache/huggingface
-v ./ms_cache:/root/.cache/modelscope
-v ./om_cache:/root/.cache/openmind
-v ./data:/app/data
-v ./output:/app/output
-p 7860:7860
-p 8000:8000
--shm-크기 16G
--이름 라마팩토리
라마팩토리:최신
docker exec -it llamafactory bashAscend NPU 사용자의 경우:
# 환경에 따라 도커 이미지를 선택합니다docker build -f ./docker/docker-npu/Dockerfile
--build-arg INSTALL_DEEPSPEED=false
--build-arg PIP_INDEX=https://pypi.org/simple
-t llamafactory:latest .# resourcesdocker 실행 시 '장치' 변경 -dit
-v ./hf_cache:/root/.cache/huggingface
-v ./ms_cache:/root/.cache/modelscope
-v ./om_cache:/root/.cache/openmind
-v ./data:/app/data
-v ./output:/app/output
-v /usr/local/dcmi:/usr/local/dcmi
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver
-v /etc/ascend_install.info:/etc/ascend_install.info
-p 7860:7860
-p 8000:8000
--장치 /dev/davinci0
--device /dev/davinci_manager
--device /dev/devmm_svm
--장치 /dev/hisi_hdc
--shm-크기 16G
--이름 라마팩토리
라마팩토리:최신
docker exec -it llamafactory bashAMD ROCm 사용자의 경우:
docker build -f ./docker/docker-rocm/Dockerfile
--build-arg INSTALL_BNB=false
--build-arg INSTALL_VLLM=false
--build-arg INSTALL_DEEPSPEED=false
--build-arg INSTALL_FLASHATTN=false
--build-arg PIP_INDEX=https://pypi.org/simple
-t 라마팩토리:최신 .docker 실행 -dit
-v ./hf_cache:/root/.cache/huggingface
-v ./ms_cache:/root/.cache/modelscope
-v ./om_cache:/root/.cache/openmind
-v ./data:/app/data
-v ./output:/app/output
-v ./saves:/app/saves
-p 7860:7860
-p 8000:8000
--device /dev/kfd
--장치 /dev/dri
--shm-크기 16G
--이름 라마팩토리
라마팩토리:최신
docker exec -it llamafactory bash hf_cache : 호스트 머신에서 Hugging Face 캐시를 활용합니다. 캐시가 이미 다른 디렉터리에 있는 경우 재할당 가능합니다.
ms_cache : Hugging Face 캐시와 유사하지만 ModelScope 사용자를 위한 것입니다.
om_cache : Hugging Face 캐시와 유사하지만 Modelers 사용자를 위한 것입니다.
data : LLaMA 보드 GUI에서 선택할 수 있도록 호스트 시스템의 이 디렉토리에 데이터 세트를 배치합니다.
output : 병합된 결과를 호스트 시스템에서 직접 액세스할 수 있도록 내보내기 디렉터리를 이 위치로 설정합니다.
API_PORT=8000 llamafactory-cli API 예제/inference/llama3_vllm.yaml
팁
API 문서를 보려면 이 페이지를 방문하세요.
예: 이미지 이해 | 함수 호출
Hugging Face에서 모델 및 데이터 세트를 다운로드하는 데 문제가 있는 경우 ModelScope를 사용할 수 있습니다.
내보내기 USE_MODELSCOPE_HUB=1 # Windows의 경우 `set USE_MODELSCOPE_HUB=1`
ModelScope Hub의 모델 ID를 model_name_or_path 로 지정하여 모델을 교육합니다. ModelScope Hub(예: LLM-Research/Meta-Llama-3-8B-Instruct 에서 모델 ID의 전체 목록을 찾을 수 있습니다.
Modelers Hub를 사용하여 모델과 데이터세트를 다운로드할 수도 있습니다.
내보내기 USE_OPENMIND_HUB=1 # Windows의 경우 `set USE_OPENMIND_HUB=1`
Modelers Hub의 모델 ID를 model_name_or_path 로 지정하여 모델을 교육합니다. 모델 ID의 전체 목록은 Modelers Hub(예: TeleAI/TeleChat-7B-pt 에서 찾을 수 있습니다.
실험 결과를 기록하기 위해 가중치 및 편향을 사용하려면 yaml 파일에 다음 인수를 추가해야 합니다.
Report_to: wandbrun_name: test_run # 선택 사항
W&B 계정으로 로그인하기 위해 훈련 작업을 시작할 때 WANDB_API_KEY 키로 설정하세요.
통합해야 할 프로젝트가 있는 경우 이메일로 문의하거나 풀 요청을 작성하세요.
왕 외. ESRL: 시퀀스 생성을 위한 효율적인 샘플링 기반 강화 학습. 2023. [arxiv]
Yu et al. 텍스트 분류를 위한 개방형, 폐쇄형 또는 소규모 언어 모델? 2023. [arxiv]
왕 외. UbiPhysio: 자연어로 된 동작 이해 및 피드백을 통해 일상 기능, 피트니스 및 재활을 지원합니다. 2023. [arxiv]
Luceriet al. 대규모 언어 모델을 활용하여 소셜 미디어에서 영향력 캠페인을 감지합니다. 2023. [arxiv]
Zhang et al. 유도된 환각을 통해 대규모 언어 모델의 환각 완화. 2023. [arxiv]
왕 외. 귀하의 요구사항을 더 잘 파악하십시오: 유추 추론 증강 LLM을 통해 마케터 요구 사항을 체계적으로 이해합니다. KDD 2024. [arxiv]
왕 외. CANDLE: 상식 추론을 위한 대규모 언어 모델의 반복적 개념화 및 인스턴스화 증류. ACL 2024. [arxiv]
Choiet al. FACT-GPT: LLM과의 청구 매칭을 통한 사실 확인 강화. 2024. [arxiv]
Zhang et al. AutoMathText: 수학 텍스트용 언어 모델을 사용한 자율 데이터 선택. 2024. [arxiv]
Lyuet al. KnowTuning: 대규모 언어 모델을 위한 지식 인식 미세 조정. 2024. [arxiv]
Yanget al. LaCo: 레이어 축소를 통한 대규모 언어 모델 가지치기. 2024. [arxiv]
Bhardwajet al. 언어 모델은 호머 심슨입니다! 작업 산술을 통한 미세 조정된 언어 모델의 안전 재조정. 2024. [arxiv]
Yanget al. 소규모 공감 모델로 LLM을 강화하여 공감 반응 생성을 강화합니다. 2024. [arxiv]
Yi et al. 세대와 검증의 만남: 스마트 병렬 자동 수정 디코딩을 통해 대규모 언어 모델 추론을 가속화합니다. ACL 2024 결과. [arxiv]
Caoet al. 대규모 언어 모델을 위한 Head-wise Shareable Attention. 2024. [arxiv]
Zhang et al. 자원이 풍부한 언어의 자체 증류를 통해 대규모 언어 모델의 다국어 기능 향상. 2024. [arxiv]
Kim et al. 다국어 대형 언어 모델을 향한 효율적이고 효과적인 어휘 확장. 2024. [arxiv]
Yu et al. KIEval: 대규모 언어 모델을 위한 지식 기반 대화형 평가 프레임워크. ACL 2024. [arxiv]
Huang et al. 수학적 추론을 강화한 핵심 포인트 기반 데이터 합성. 2024. [arxiv]
Duanet al. 부정 부정: 분포 차별 최적화를 통해 인간 양성 샘플 없이 정렬합니다. 2024. [arxiv]
시에와 슈베르트페거. 대규모 언어 모델로 로봇 공학 강화: LLM을 사용한 osmAG 지도 이해. 2024. [arxiv]
Wuet al. 대규모 언어 모델은 병렬 다국어 학습자입니다. 2024. [arxiv]
Zhang et al. EDT: 엔트로피 기반 동적 온도 샘플링을 통한 대규모 언어 모델 생성 개선. 2024. [arxiv]
Welleret al. FollowIR: 지침을 따르도록 정보 검색 모델을 평가하고 교육합니다. 2024. [arxiv]
나홍빈. CBT-LLM: 인지 행동 치료 기반 정신 건강 질문 응답을 위한 중국어 대형 언어 모델. COLING 2024. [arxiv]
Zan et al. CodeS: 다층 스케치를 통해 자연어를 코드 저장소로 변환합니다. 2024. [arxiv]
Liu et al. 광범위한 자체 대조를 통해 피드백 없는 언어 모델 정렬이 가능합니다. 2024. [arxiv]
Luoet al. BAdam: 대규모 언어 모델을 위한 메모리 효율적인 전체 매개변수 훈련 방법. 2024. [arxiv]
Duet al. Chinese Tiny LLM: 중국어 중심의 대규모 언어 모델 사전 학습. 2024. [arxiv]
Maet al. 기븐스 회전(Givens Rotation)을 통한 매개변수 효율적인 준직교 미세 조정. ICML 2024. [arxiv]
Liu et al. 대규모 언어 모델을 사용한 동적 성격 생성. 2024. [arxiv]
Shanget al. 대규모 언어 모델을 사용하여 스트립핑된 이진 코드 이해에 있어서 우리는 얼마나 멀리 나아갔습니까? 2024. [arxiv]
Huang et al. LLMTune: 대규모 언어 모델로 데이터베이스 손잡이 튜닝을 가속화합니다. 2024. [arxiv]
Deng et al. 텍스트-튜플-테이블: 글로벌 튜플 추출을 통한 텍스트-테이블 생성의 정보 통합을 향하여. 2024. [arxiv]
Acikgozet al. 히포크라테스: 의료 분야의 대규모 언어 모델을 발전시키기 위한 오픈 소스 프레임워크. 2024. [arxiv]
Zhang et al. 소규모 언어 모델에는 추론을 자체 수정하기 위해 강력한 검증기가 필요합니다. ACL 2024 결과. [arxiv]
Zhouet al. FREB-TQA: 테이블 질문 응답에 대한 세밀한 견고성 평가 벤치마크. NAACL 2024. [arxiv]
Xu et al. 사이버 보안을 위한 대규모 언어 모델: 체계적인 문헌 검토. 2024. [arxiv]
Dammuet al. "그들은 교양이 없습니다": LLM 생성 대화에서 은밀한 피해와 사회적 위협을 밝힙니다. 2024. [arxiv]
Yi et al. 대규모 언어 모델을 위한 부분 공간 중심 모델 융합을 통한 안전 재정렬 프레임워크. 2024. [arxiv]
Louet al. SPO: 암시적 보상 모델링을 사용한 다차원 선호 순차 정렬. 2024. [arxiv]
Zhang et al. 적은 비용으로 더 많은 것을 얻으세요: 대규모 언어 모델은 좋은 자발적인 다국어 학습자입니다. 2024. [arxiv]
Zhang et al. TS-Align: 대규모 언어 모델의 확장 가능하고 반복적인 미세 조정을 위한 교사-학생 협업 프레임워크입니다. 2024. [arxiv]
첸 지홍. XunziALLM을 기반으로 한 문장 분할 및 문장 구두점. 2024. [논문]
Gaoet al. 두 세계의 최고: 정직하고 유용한 대형 언어 모델을 향하여. 2024. [arxiv]
왕과 송. MARS: 다중 작업 평가 데이터 세트를 사용하여 언어 모델의 형이상학적 추론 능력 벤치마킹. 2024. [arxiv]
Huet al. 변압기 기반 모델에 대한 LoRA(낮은 순위 적응)의 계산 한계. 2024. [arxiv]
Geet al. 효율적인 미세 조정을 통한 시간에 민감한 지식 편집. ACL 2024. [arxiv]
Tanet al. 역할 기반 상호 작용을 통한 다단계 및 장기 상황 대화로서의 동료 검토. 2024. [arxiv]
Songet al. 터보 스파스(Turbo Sparse): 최소한의 활성화 매개변수로 LLM SOTA 성능 달성. 2024. [arxiv]
Gu et al. RWKV-CLIP: 강력한 비전 언어 표현 학습자. 2024. [arxiv]
Chenet al. 도구로 강화된 대규모 언어 모델 발전: 추론 트리의 오류로부터 얻은 통찰력 통합. 2024. [arxiv]
Zhu et al. 대규모 언어 모델은 좋은 통계학자입니까?. 2024. [arxiv]
Li et al. 미지의 것을 알아라: LLM 명령어 튜닝을 위한 불확실성에 민감한 방법. 2024. [arxiv]
Dinget al. IntentionQA: 전자상거래에서 언어 모델의 구매 의도 이해 능력을 평가하기 위한 벤치마크. 2024. [arxiv]
그 외 여러분. COMMUNITY-CROSS-INSTRUCT: 대규모 언어 모델을 온라인 커뮤니티에 맞추기 위한 비지도 명령어 생성. 2024. [arxiv]
Linet al. FVEL: 정리 증명을 통한 대규모 언어 모델을 사용한 대화형 형식 검증 환경. 2024. [arxiv]
Treutleinet al. 점 연결: LLM은 서로 다른 교육 데이터로부터 잠재 구조를 추론하고 말로 표현할 수 있습니다. 2024. [arxiv]
Feng et al. SS-벤치: 소셜 스토리 생성 및 평가를 위한 벤치마크. 2024. [arxiv]
Feng et al. 세밀한 정렬 향상을 통한 자체 구성 컨텍스트 디컴파일. 2024. [arxiv]
Liu et al. 웨어러블 생체 신호를 통한 커프 없는 혈압 측정을 위한 대규모 언어 모델. 2024. [arxiv]
Iyeret al. LLM을 통한 매우 적은 자원 번역 탐색: 에든버러 대학교의 AmericasNLP 2024 번역 작업 제출. AmericasNLP 2024. [논문]
Li et al. 과학 질문 채점의 이론적 근거를 생성하기 위해 사고 나무에 대한 선호도 최적화를 통해 LLM을 보정합니다. 2024. [arxiv]
Yanget al. 금융 지식 대규모 언어 모델. 2024. [arxiv]
Linet al. DogeRM: 모델 병합을 통해 보상 모델에 도메인 지식을 제공합니다. 2024. [arxiv]
Bakoet al. 데이터 시각화에서 자연어 발언에 대한 LLM의 의미론적 프로파일링 능력을 평가합니다. 2024. [arxiv]
Huang et al. RoLoRA: 효과적인 가중치 활성화 양자화를 위해 회전된 이상치 없는 LLM을 미세 조정합니다. 2024. [arxiv]
Jianget al. 일반 청중을 위한 자동 과학 저널리즘에 대한 LLM-협력. 2024. [arxiv]
Inouyeet al. LoRA 하이퍼파라미터에 자동 튜닝을 적용했습니다. 2024. [논문]
Qi et al. LLM을 기반으로 한 티베트 관광 관점 정보 생성 시스템에 관한 연구. 2024. [arxiv]
Xu et al. 코스 수정: 종합적 선호를 사용한 안전 정렬. 2024. [arxiv]
Sunet al. LAMBDA: 대규모 모델 기반 데이터 에이전트. 2024. [arxiv]
Zhu et al. CollectiveSFT: 의료 분야의 집합적 지침을 사용하여 중국 의료 벤치마크를 위한 대규모 언어 모델 확장. 2024. [arxiv]
Yu et al. 부정적인 주의 점수 정렬을 통해 대규모 언어 모델의 부정적인 편견을 수정합니다. 2024. [arxiv]
Xieet al. 개인화된 데이터세트의 힘: 타겟 모델 미세 조정을 통해 초등학교를 위한 중국어 작문 발전. IALP 2024. [논문]
Liu et al. Instruct-Code-Llama: 온라인 심판 피드백을 통한 경쟁 수준 코드 생성에서 언어 모델의 기능 향상. ICIC 2024. [논문]
왕 외. 사이버네틱 센티널: 지도형 미세 조정에서 모델 보안에 대한 안전 데이터 선택의 영향 공개. ICIC 2024. [논문]
Xiaet al. LLM 미세 조정의 성능 이해 및 비용 추정. 2024. [arxiv]
Zenget al. 인지, 반영 및 계획: 지침 없이 목표 지향적인 도시 탐색을 위한 LLM 에이전트 설계. 2024. [arxiv]
Xiaet al. 정확한 ESG 예측을 위해 사전 훈련된 언어 모델을 사용합니다. FinNLP 2024. [논문]
Lianget al. I-SHEEP: 반복적인 자기 강화 패러다임을 통해 처음부터 LLM의 자기 정렬. 2024. [arxiv]
StarWhisper : ChatGLM2-6B 및 Qwen-14B를 기반으로 하는 천문학용 대규모 언어 모델입니다.
DISC-LawLLM : Baichuan-13B를 기반으로 한 중국 법률 영역에 특화된 대규모 언어 모델로 법률 지식 검색 및 추론이 가능합니다.
Sunsimiao : Baichuan-7B 및 ChatGLM-6B를 기반으로 한 중국 의학 분야에 특화된 대규모 언어 모델입니다.
CareGPT : LLaMA2-7B 및 Baichuan-13B를 기반으로 하는 중국 의료 분야용 대규모 언어 모델 시리즈입니다.
MachineMindset : 다양한 데이터 세트 및 훈련 방법을 기반으로 LLM에 16가지 성격 유형을 제공할 수 있는 일련의 MBTI 성격 대규모 언어 모델입니다.
Luminia-13B-v3 : 안정적인 확산을 위해 메타데이터 생성에 특화된 대규모 언어 모델입니다. [데모]
Chinese-LLaVA-Med : LLaVA-1.5-7B를 기반으로 한 중국 의학 분야에 특화된 다중 모드 대형 언어 모델입니다.
AutoRE : 대규모 언어 모델을 기반으로 한 문서 수준 관계 추출 시스템입니다.
NVIDIA RTX AI 툴킷 : NVIDIA RTX용 Windows PC에서 LLM을 미세 조정하기 위한 SDK입니다.
LazyLLM : 다중 에이전트 LLM 애플리케이션을 구축하기 위한 쉽고 느린 방법이며 LLaMA Factory를 통해 모델 미세 조정을 지원합니다.
RAG-Retrieval : RAG 검색 모델 미세 조정, 추론 및 증류를 위한 전체 파이프라인입니다. [블로그]
이 저장소는 Apache-2.0 라이선스에 따라 라이선스가 부여됩니다.
해당 모델 가중치를 사용하려면 모델 라이센스를 따르십시오. Baichuan 2 / BLOOM / ChatGLM3 / Command R / DeepSeek / Falcon / Gemma / GLM-4 / InternLM2 / Llama / Llama 2 (LLaVA-1.5) / Llama 3 / MiniCPM / Mistral /Mixtral/Pixtral / OLMo / Phi-1.5/Phi-2 / Phi-3 / Qwen / StarCoder 2 / XVERSE / Yi / Yi-1.5 / 위안 2
이 작업이 도움이 되었다면 다음을 인용해 주시기 바랍니다.
@inproceedings{zheng2024llamafactory, title={LlamaFactory: 100개 이상의 언어 모델의 통합 효율적 미세 조정}, 저자={Yaowei Zheng 및 Richong Zhang 및 Junhao Zhang 및 Yanhan Ye 및 Zheyan Luo 및 Zhangchi Feng 및 Yongqiang Ma}, booktitle={ 제62차 전산학회 연차총회 회의록 언어학(제3권: 시스템 데모)}, 주소={태국 방콕}, 게시자={전산 언어학 협회}, 연도={2024}, url={http://arxiv.org/abs/2403.13372}}이 저장소는 PEFT, TRL, QLoRA 및 FastChat의 이점을 활용합니다. 그들의 훌륭한 작품에 감사드립니다.
