ที่เก็บ 'Llama-Recipes' เป็นเพื่อนร่วมงานของโมเดล Meta Llama เราสนับสนุนเวอร์ชันล่าสุด Llama 3.2 Vision และ Llama 3.2 Text ในที่เก็บนี้ พื้นที่เก็บข้อมูลนี้มีสคริปต์ตัวอย่างและสมุดบันทึกเพื่อเริ่มต้นกับโมเดลในกรณีการใช้งานที่หลากหลายรวมถึงการปรับแต่งสำหรับการปรับตัวโดเมนและการสร้างแอปพลิเคชันที่ใช้ LLM ด้วย LLAMA และเครื่องมืออื่น ๆ ในระบบนิเวศ LLM ตัวอย่างที่นี่ใช้ Llama ในพื้นที่ในระบบคลาวด์และในสถานที่
เคล็ดลับ
เริ่มต้นด้วย Llama 3.2 ด้วยสูตรใหม่เหล่านี้:
บันทึก
LLAMA 3.2 ติดตามเทมเพลตพรอมต์เดียวกันกับ Llama 3.1 พร้อมโทเค็นพิเศษใหม่ <|image|> แสดงภาพอินพุตสำหรับรุ่นหลายรูปแบบ
รายละเอียดเพิ่มเติมเกี่ยวกับเทมเพลตพรอมต์สำหรับการให้เหตุผลเกี่ยวกับภาพการเรียกเครื่องมือและล่ามโค้ดสามารถพบได้ในเว็บไซต์เอกสาร
recipes/src/คำแนะนำเหล่านี้จะช่วยให้คุณได้รับสำเนาของโครงการและทำงานบนเครื่องในพื้นที่ของคุณเพื่อการพัฒนาและการทดสอบ ดูการปรับใช้สำหรับหมายเหตุเกี่ยวกับวิธีการปรับใช้โครงการในระบบสด
หากคุณต้องการใช้ pytorch nightlies แทนการเปิดตัวที่เสถียรให้ไปที่คู่มือนี้เพื่อดึงข้อมูลที่ถูกต้อง --extra-index-url URL สำหรับคำสั่ง pip install บนแพลตฟอร์มของคุณ
Llama-Recipes ให้การกระจาย PIP สำหรับการติดตั้งและการใช้งานที่ง่ายในโครงการอื่น ๆ หรือสามารถติดตั้งได้จากแหล่งที่มา
บันทึก
ตรวจสอบให้แน่ใจว่าคุณใช้รุ่น CUDA ที่ถูกต้อง (จาก nvidia-smi ) เมื่อติดตั้งล้อ pytorch ที่นี่เราใช้ 11.8 เป็น cu118 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]
สูตรบางอย่างต้องการการปรากฏตัวของ Langchain ในการติดตั้งแพ็คเกจทำตามคำอธิบายสูตรหรือติดตั้งด้วย:
pip install llama-recipes[langchain]
การพึ่งพาตัวเลือกสามารถรวมกับ [ตัวเลือก 1, Option2]
ในการติดตั้งจากแหล่งที่มาเช่นสำหรับการพัฒนาใช้คำสั่งเหล่านี้ เรากำลังใช้การฟักเป็นแบ็กเอนด์ Build ของเราซึ่งต้องใช้ PIP ที่ทันสมัยรวมถึงแพ็คเกจ Setuptools
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
สำหรับการพัฒนาและมีส่วนร่วมในการรับ Llama โปรดติดตั้งการอ้างอิงที่เป็นตัวเลือกทั้งหมด:
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
คุณสามารถค้นหานางแบบ Llama บน Hugging Face Hub ได้ที่นี่ ซึ่งรุ่นที่มี hf ในชื่อถูกแปลงเป็นจุดตรวจสอบใบหน้าแล้วดังนั้นจึงไม่จำเป็นต้องมีการแปลงเพิ่มเติม ขั้นตอนการแปลงด้านล่างนี้มีไว้สำหรับน้ำหนักรุ่นดั้งเดิมจากเมตาที่โฮสต์บนฮับโมเดลใบหน้ากอดเช่นกัน
หากคุณมีจุดตรวจสอบรุ่นที่ดาวน์โหลดจากเว็บไซต์ Meta คุณสามารถแปลงเป็นรูปแบบการกอดใบหน้าด้วย:
# # 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 นั้นมีการจัดระเบียบใน 2 โฟลเดอร์หลัก: recipes/ และ src/
recipes/มีตัวอย่างที่จัดในโฟลเดอร์ตามหัวข้อ:
| โฟลเดอร์ย่อย | คำอธิบาย |
|---|---|
| เร็ว | "Hello World" ของการใช้ Llama เริ่มต้นที่นี่หากคุณยังใหม่กับการใช้ Llama |
| use_cases | สคริปต์แสดงแอปพลิเคชันทั่วไปของ Meta Llama3 |
| 3p_integrations | โฟลเดอร์ที่เป็นเจ้าของพันธมิตรแสดงแอปพลิเคชันทั่วไปของ Meta Llama3 |
| รับผิดชอบ _ai | สคริปต์เพื่อใช้ Purplellama สำหรับการปกป้องโมเดลเอาต์พุต |
| เกี่ยวกับการทดลอง | การใช้งาน Meta Llama ของเทคนิคการทดลอง LLM |
src/มีโมดูลที่รองรับสูตรตัวอย่าง:
| โฟลเดอร์ย่อย | คำอธิบาย |
|---|---|
| กำหนดค่า | มีไฟล์การกำหนดค่าสำหรับวิธี PEFT, FSDP, ชุดข้อมูล, การติดตามการทดลองน้ำหนักและอคติ |
| ชุดข้อมูล | มีสคริปต์แต่ละตัวสำหรับแต่ละชุดข้อมูลเพื่อดาวน์โหลดและประมวลผล บันทึก |
| การอนุมาน | รวมโมดูลสำหรับการอนุมานสำหรับรุ่นที่ปรับจูน |
| model_checkpointing | มีตัวจัดการจุดตรวจ FSDP |
| นโยบาย | มีสคริปต์ FSDP เพื่อจัดทำนโยบายที่แตกต่างกันเช่นความแม่นยำผสมนโยบายการห่อหม้อแปลงและจุดตรวจสอบการเปิดใช้งานพร้อมกับเครื่องมือเพิ่มประสิทธิภาพที่แม่นยำ (ใช้สำหรับเรียกใช้ FSDP ด้วยโหมด BF16 บริสุทธิ์) |
| เครื่องใช้ | ไฟล์ยูทิลิตี้สำหรับ: - train_utils.py ให้การฝึกอบรม/การประเมินลูปและการใช้งานรถไฟมากขึ้น- dataset_utils.py เพื่อรับชุดข้อมูลที่ประมวลผลล่วงหน้า- config_utils.py เพื่อแทนที่การกำหนดค่าที่ได้รับจาก CLI- fsdp_utils.py จัดทำนโยบายการห่อ FSDP สำหรับวิธี PEFT- memory_utils.py Context Manager เพื่อติดตามสถิติหน่วยความจำที่แตกต่างกันใน Loop รถไฟ |
สูตรและโมดูลในที่เก็บนี้รองรับคุณสมบัติต่อไปนี้:
| คุณสมบัติ | |
|---|---|
| การสนับสนุน HF สำหรับการอนุมาน | |
| การสนับสนุน HF สำหรับ finetuning | |
| คนอื่น ๆ | |
| การเริ่มต้นรอการตัดบัญชี (Meta Init) | |
| โหมด CPU ต่ำสำหรับ Multi GPU | |
| ความแม่นยำผสม | |
| ปริมาณโหนดเดียว | |
| ความสนใจแฟลช | |
| จุดตรวจสอบการเปิดใช้งาน FSDP | |
| ข้อมูลแบบไฮบริดแบบขนาน (HSDP) | |
| การบรรจุชุดข้อมูลและการขยาย | |
| BF16 Optimizer (Pure BF16) | |
| การทำโปรไฟล์และการติดตาม MFU | |
| การสะสมการไล่ระดับสี | |
| CPU Offloading | |
| การแปลงจุดตรวจสอบ FSDP เป็น HF สำหรับการอนุมาน | |
| ตัวติดตามการทดลอง W&B |
โปรดอ่านรายละเอียดเกี่ยวกับจรรยาบรรณของเราและกระบวนการในการส่งคำขอดึงให้เรา
ดูไฟล์ใบอนุญาตสำหรับ Meta Llama 3.2 ที่นี่และนโยบายการใช้งานที่ยอมรับได้ที่นี่
ดูไฟล์ใบอนุญาตสำหรับ Meta Llama 3.1 ที่นี่และนโยบายการใช้งานที่ยอมรับได้ที่นี่
ดูไฟล์ใบอนุญาตสำหรับ Meta Llama 3 ที่นี่และนโยบายการใช้งานที่ยอมรับได้ที่นี่
ดูไฟล์ใบอนุญาตสำหรับ Meta Llama 2 ที่นี่และนโยบายการใช้งานที่ยอมรับได้ที่นี่