Repositori 'Llama-Recipes' adalah pendamping model meta llama. Kami mendukung versi terbaru, LLAMA 3.2 Visi dan teks LLAMA 3.2, dalam repositori ini. Repositori ini berisi contoh skrip dan notebook untuk memulai dengan model dalam berbagai kasus penggunaan, termasuk penyempurnaan untuk adaptasi domain dan membangun aplikasi berbasis LLM dengan LLAMA dan alat lain di ekosistem LLM. Contoh-contoh di sini menggunakan llama secara lokal, di cloud, dan di-prem.
Tip
Mulailah dengan Llama 3.2 dengan resep baru ini:
Catatan
Llama 3.2 mengikuti templat prompt yang sama dengan Llama 3.1, dengan token khusus baru <|image|> mewakili gambar input untuk model multimodal.
Rincian lebih lanjut tentang templat prompt untuk penalaran gambar, pemanggilan alat, dan juru bahasa dapat ditemukan di situs web dokumentasi.
recipes/src/Instruksi ini akan memberi Anda salinan proyek dan berjalan di mesin lokal Anda untuk tujuan pengembangan dan pengujian. Lihat Penempatan untuk Catatan tentang Cara Menyebarkan Proyek pada Sistem Langsung.
Jika Anda ingin menggunakan Nightlies Pytorch alih-alih rilis yang stabil, buka panduan ini untuk mengambil parameter --extra-index-url URL untuk perintah pip install di platform Anda.
Llama-Recipes menyediakan distribusi PIP untuk pemasangan dan penggunaan yang mudah di proyek lain. Atau, dapat diinstal dari sumber.
Catatan
Pastikan Anda menggunakan versi CUDA yang benar (dari nvidia-smi ) saat menginstal roda Pytorch. Di sini kami menggunakan 11,8 sebagai cu118 . H100 GPU bekerja lebih baik dengan CUDA> 12.0
pip install llama-recipes
Llama-Recipes menawarkan pemasangan paket opsional. Ada tiga grup ketergantungan opsional. Untuk menjalankan tes unit, kami dapat menginstal dependensi yang diperlukan dengan:
pip install llama-recipes[tests]
Untuk contoh VLLM kita membutuhkan persyaratan tambahan yang dapat diinstal dengan:
pip install llama-recipes[vllm]
Untuk menggunakan topik sensitif Pemeriksa Keselamatan Pemasangan dengan:
pip install llama-recipes[auditnlg]
Beberapa resep membutuhkan keberadaan Langchain. Untuk menginstal paket, ikuti deskripsi resep atau instal dengan:
pip install llama-recipes[langchain]
Ketergantungan opsional juga dapat dikombinasikan dengan [opsi1, opsi2].
Untuk menginstal dari sumber misalnya untuk pengembangan, gunakan perintah ini. Kami menggunakan penetasan sebagai backend build kami yang membutuhkan PIP terkini serta paket Setuptools.
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
Untuk pengembangan dan berkontribusi pada Llama-Recipes, silakan instal semua dependensi opsional:
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
Anda dapat menemukan model LLAMA di Hugging Face Hub di sini, di mana model dengan hf dalam nama sudah dikonversi menjadi memeluk pos pemeriksaan wajah sehingga tidak diperlukan konversi lebih lanjut . Langkah konversi di bawah ini hanya untuk bobot model asli dari meta yang di -host di hub model memeluk Face Hub juga.
Jika Anda memiliki pos pemeriksaan model yang diunduh dari situs web meta, Anda dapat mengonversinya menjadi format wajah pelukan dengan:
# # 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 Sebagian besar kode yang berhubungan dengan penggunaan Llama diatur di 2 folder utama: recipes/ dan src/ .
recipes/Berisi contoh yang disusun dalam folder berdasarkan topik:
| Subfolder | Keterangan |
|---|---|
| QuickStart | "Hello World" menggunakan llama, mulailah di sini jika Anda baru menggunakan llama. |
| use_cases | Script yang menunjukkan aplikasi umum meta llama3 |
| 3p_integrasi | Folder Milik Mitra Menampilkan Aplikasi Umum Meta Llama3 |
| bertanggung jawab_ai | Skrip untuk menggunakan purplellama untuk melindungi output model |
| Eksperimental | Implementasi Meta Llama dari Teknik LLM Eksperimental |
src/Berisi modul yang mendukung contoh resep:
| Subfolder | Keterangan |
|---|---|
| konfigurasi | Berisi file konfigurasi untuk metode PEFT, FSDP, dataset, pelacakan eksperimen bobot & bias. |
| kumpulan data | Berisi skrip individual untuk setiap dataset untuk diunduh dan diproses. Catatan |
| kesimpulan | Termasuk modul untuk inferensi untuk model yang disesuaikan. |
| model_checkpointing | Berisi penangan pos pemeriksaan FSDP. |
| kebijakan | Berisi skrip FSDP untuk memberikan kebijakan yang berbeda, seperti presisi campuran, kebijakan pembungkus transformator dan pos pemeriksaan aktivasi bersama dengan pengoptimal presisi (digunakan untuk menjalankan FSDP dengan mode BF16 murni). |
| utils | File utilitas untuk: - train_utils.py menyediakan pelatihan/eval loop dan lebih banyak util kereta.- dataset_utils.py untuk mendapatkan set data preproses.- config_utils.py untuk mengganti konfigurasi yang diterima dari CLI.- fsdp_utils.py menyediakan kebijakan pembungkus FSDP untuk metode PEFT.- memory_utils.py Context Manager untuk melacak statistik memori yang berbeda di loop kereta. |
Resep dan modul di repositori ini mendukung fitur -fitur berikut:
| Fitur | |
|---|---|
| Dukungan HF untuk Inferensi | ✅ |
| Dukungan HF untuk finetuning | ✅ |
| Peft | ✅ |
| Inisialisasi Ditangguhkan (Meta Init) | ✅ |
| Mode CPU rendah untuk multi GPU | ✅ |
| Presisi campuran | ✅ |
| Kuantisasi simpul tunggal | ✅ |
| Perhatian Flash | ✅ |
| FSDP Pemeriksaan Aktivasi | ✅ |
| Hybrid Sharded Data Parallel (HSDP) | ✅ |
| Pengemasan & padding dataset | ✅ |
| BF16 Optimizer (BF16 murni) | ✅ |
| Profil & Pelacakan MFU | ✅ |
| Akumulasi gradien | ✅ |
| Pembongkaran CPU | ✅ |
| Konversi pos pemeriksaan FSDP ke HF untuk inferensi | ✅ |
| Pelacak Eksperimen W&B | ✅ |
Harap baca Contributing.md untuk perincian tentang kode perilaku kami, dan proses untuk mengirimkan permintaan tarik kepada kami.
Lihat file lisensi untuk meta llama 3.2 di sini dan kebijakan penggunaan yang dapat diterima di sini
Lihat file lisensi untuk meta llama 3.1 di sini dan kebijakan penggunaan yang dapat diterima di sini
Lihat file lisensi untuk meta llama 3 di sini dan kebijakan penggunaan yang dapat diterima di sini
Lihat file lisensi untuk meta llama 2 di sini dan kebijakan penggunaan yang dapat diterima di sini