
Felafax เป็นกรอบสำหรับการฝึกอบรมอย่างต่อเนื่องและปรับแต่งโอเพนซอร์ส LLM โดยใช้ XLA Runtime เราดูแลการตั้งค่ารันไทม์ที่จำเป็นและให้สมุดบันทึก Jupyter นอกกรอบเพื่อเริ่มต้นใช้งาน
เป้าหมายของเราที่ Felafax คือการสร้าง Infra เพื่อให้ง่ายต่อการเรียกใช้เวิร์กโหลด AI บนฮาร์ดแวร์ที่ไม่ใช่ Nvidia (TPU, AWS Trainium, AMD GPU และ Intel GPU)
เพิ่มชุดข้อมูลของคุณคลิก "เรียกใช้ทั้งหมด" และคุณจะทำงานบนทรัพยากร TPU ฟรีบน Google Colab!
| Felafax รองรับ | สมุดบันทึกฟรี |
|---|---|
| Llama 3.1 (1B, 3B) |
การใช้งาน LLAMA-3.1 JAX
llama-3/3.1 pytorch xla
เริ่มต้นด้วยการปรับแต่งโมเดลของคุณโดยใช้ Felafax CLI ในไม่กี่ขั้นตอน
เริ่มต้นด้วยการติดตั้ง CLI
pip install pipx
pipx install felafax-cliจากนั้นสร้างโทเค็นการรับรองความถูกต้อง:
ในที่สุดรับรองเซสชัน CLI ของคุณโดยใช้โทเค็นของคุณ:
felafax-cli auth login --token < your_token > ขั้นแรกให้สร้างไฟล์กำหนดค่าเริ่มต้นสำหรับการปรับแต่ง คำสั่งนี้สร้างไฟล์ config.yml ในไดเรกทอรีปัจจุบันที่มีค่าไฮเปอร์พารามิเตอร์เริ่มต้น
felafax-cli tune init-configประการที่สองอัปเดตไฟล์ config ด้วย hyperparameters ของคุณ:
HuggingFace Knobs:
PIPILEN และพารามิเตอร์การฝึกอบรม: พารามิเตอร์:
batch_size , max_seq_length เพื่อใช้สำหรับชุดข้อมูลการปรับแต่งnull หากคุณต้องการให้ Trainig ทำงานผ่านชุดข้อมูลทั้งหมด หากตั้งค่า num_steps เป็นตัวเลขการฝึกอบรมจะหยุดหลังจากจำนวนขั้นตอนที่ระบุlearning_rate และ lora_rank เพื่อใช้สำหรับการปรับแต่งeval_interval คือจำนวนขั้นตอนระหว่างการประเมินเรียกใช้คำสั่งติดตามเพื่อดูรายการโมเดลพื้นฐานที่คุณสามารถปรับแต่งได้เรารองรับ Llama-3.1 ทุกรุ่น ณ ตอนนี้
felafax-cli tune start --help ตอนนี้คุณสามารถเริ่มกระบวนการปรับแต่งได้ด้วยรุ่นที่คุณเลือกจากรายการด้านบนและชื่อชุดข้อมูลจาก HuggingFace (เช่น yahma/alpaca-cleaned ):
felafax-cli tune start --model < your_selected_model > --config ./config.yml --hf-dataset-id < your_hf_dataset_name >คำสั่งตัวอย่างเพื่อให้คุณเริ่มต้น:
felafax-cli tune start --model llama3-2-1b --config ./config.yml --hf-dataset-id yahma/alpaca-cleanedหลังจากที่คุณเริ่มงานการปรับแต่ง Felafax CLI จะดูแลการหมุน TPUs วิ่งฝึกซ้อมและอัปโหลดโมเดลที่ปรับจูนไปยังฮับ HuggingFace
คุณสามารถสตรีมบันทึกเรียลไทม์เพื่อตรวจสอบความคืบหน้าของงานปรับแต่งของคุณ:
# Use `<job_name>` with the job namethat you get after starting the fine-tuning.
felafax-cli tune logs --job-id < job_name > -fหลังจากการปรับแต่งเสร็จสมบูรณ์คุณสามารถแสดงรายการโมเดลที่ปรับแต่งได้ทั้งหมด:
felafax-cli model listคุณสามารถเริ่มเซสชันเทอร์มินัลแบบโต้ตอบเพื่อแชทกับรุ่นที่ปรับแต่งได้:
# Replace `<model_id>` with model id from `model list` command you ran above.
felafax-cli model chat --model-id < model_id > CLI แบ่งออกเป็นสามกลุ่มคำสั่งหลัก:
tune : เพื่อเริ่ม/หยุดงานปรับแต่งmodel : เพื่อจัดการและโต้ตอบกับรุ่นที่ปรับแต่งของคุณfiles : หากต้องการอัปโหลด/ดูไฟล์ของ YourDataset ใช้ --help Flag เพื่อค้นหาเพิ่มเติมเกี่ยวกับกลุ่มคำสั่งใด ๆ :
felafax-cli tune --helpเมื่อเร็ว ๆ นี้เราได้ปรับรุ่น LLAMA3.1 405B บน GPU 8xAMD MI300X โดยใช้ JAX แทน Pytorch APIs ขั้นสูงของ Jax ช่วยให้เราได้รับประสิทธิภาพที่ยอดเยี่ยม ตรวจสอบโพสต์บล็อกของเราเพื่อเรียนรู้เกี่ยวกับการตั้งค่าและเทคนิคการทำลายล้างที่เราใช้
เราทำการปรับแต่ง Lora ด้วยน้ำหนักทุกรุ่นและพารามิเตอร์ LORA ในความแม่นยำ BFLOAT16 และด้วย LORA อันดับ 8 และ LORA Alpha จาก 16:
กราฟการใช้ประโยชน์จาก GPU และกราฟการใช้ VRAM สามารถดูได้ด้านล่าง อย่างไรก็ตามเรายังคงต้องคำนวณการใช้ประโยชน์จากการใช้ประโยชน์จากรูปแบบ (MFU) หมายเหตุ: เราไม่สามารถเรียกใช้รุ่น 405B ที่คอมไพล์ JIT ได้เนื่องจากข้อ จำกัด ด้านโครงสร้างพื้นฐานและ VRAM (เราจำเป็นต้องตรวจสอบสิ่งนี้เพิ่มเติม) การฝึกอบรมทั้งหมดดำเนินการในโหมด Jax Eager ดังนั้นจึงมีศักยภาพที่สำคัญสำหรับการปรับปรุงประสิทธิภาพ


หากคุณมีคำถามใด ๆ โปรดติดต่อเราที่ผู้ก่อตั้ง @felafax.ai