v0.8.0
hiyouga/LlamaFactoryv0.8.0Jun 7, 2024by hiyouga
AI Summary
Introduces GLM-4 and Qwen2 model support, adds KTO and SimPO algorithms, and significantly enhances the LlamaBoard Web UI with single-node distributed training capabilities.
Key Highlights
- Stronger LlamaBoard with single-node distributed training
- KTO and SimPO algorithms
- Qwen2 and PaliGemma support
- GLM-4-9B support
New Features
- KTO algorithm support
- SimPO algorithm support
- vLLM max_lora_rank option
- Sharegpt preference dataset format
- NPU docker image
- SFT packing with greedy knapsack
- `llamafactory-cli env` command
- Image input in API mode
- `train_from_scratch` option
Full Release Notes
### Stronger [LlamaBoard](https://github.com/hiyouga/LLaMA-Factory?tab=readme-ov-file#fine-tuning-with-llama-board-gui-powered-by-gradio) 💪😀 - Support single-node distributed training in Web UI - Add dropdown menu for easily resuming from checkpoints and picking saved configurations by @hiyouga and @hzhaoy in #4053 - Support selecting checkpoints of full/freeze tuning - Add throughput metrics to LlamaBoard by @injet-zhou in #4066 - Faster UI loading ### New features - Add KTO algorithm by @enji-zhou in #3785 - Add SimPO algorithm by @hiyouga - Support passing `max_lora_rank` to the vLLM backend by @jue-jue-zi in #3794 - Support preference datasets in sharegpt format and remove big files from git repo by @hiyouga in #3799 - Support setting system messages in CLI inference by @ycjcl868 in #3812 - Add `num_samples` option in `dataset_info.json` by @seanzhang-zhichen in #3829 - Add NPU docker image by @dongdongqiang2018 in #3876 - Improve NPU document by @MengqingCao in #3930 - Support SFT packing with greedy knapsack algorithm by @AlongWY in #4009 - Add `llamafactory-cli env` for bug report - Support image input in the API mode - Support random initialization via the `train_from_scratch` argument - Initialize CI ### New models - Base models - Qwen2 (0.5B/1.5B/7B/72B/MoE) 📄 - PaliGemma-3B (pt/mix) 📄🖼️ - GLM-4-9B 📄 - Falcon-11B 📄 - DeepSeek-V2-Lite (16B) 📄 - Instruct/Chat models - Qwen2-Instruct (0.5B/1.5B/7B/72B/MoE) 📄🤖 - Mistral-7B-Instruct-v0.3 📄🤖 - Phi-3-small-8k-instruct (7B) 📄🤖 - Aya-23 (8B/35B) 📄🤖 - OpenChat-3.6-8B 📄🤖 - GLM-4-9B-Chat 📄🤖 - TeleChat-12B-Chat by @hzhaoy in #3958 📄🤖 - Phi-3-medium-8k-instruct (14B) 📄🤖 - DeepSeek-V2-Lite-Chat (16B) 📄🤖 - Codestral-22B-v0.1 📄🤖 ### New datasets - Pre-training datasets - FineWeb (en) - FineWeb-Edu (en) - Supervised fine-tuning datasets - Ruozhiba-GPT4 (zh) - STEM-Instruction (zh) - Preference datasets - Argilla-KTO-mix-15K (en) - UltraFeedback (en) ### Bug fix - Fix RLHF for multimodal finetuning - Fix LoRA target in multimodal finetuning by @BUAADreamer in #3835 - Fix `yi` template by @Yimi81 in #3925 - Fix abort issue in LlamaBoard by @injet-zhou in #3987 - Pass `scheduler_specific_kwargs` to `get_scheduler` by @Uminosachi in #4006 - Fix hyperparameters helps by @xu-song in #4007 - Update issue template by @statelesshz in #4011 - Fix vllm dtype parameter - Fix exporting hyperparameters by @MengqingCao in #4080 - Fix DeepSpeed ZeRO3 in PPO trainer - Fix #3108 #3387 #3646 #3717 #3764 #3769 #3803 #3807 #3818 #3837 #3847 #3853 #3873 #3900 #3931 #3965 #3971 #3978 #3992 #4005 #4012 #4013 #4022 #4033 #4043 #4061 #4075 #4077 #4079 #4085 #4090 #4120 #4132 #4137 #4139