Last chance! 50% off DataCamp Premium
Sale ends in
Kita hidup di masa yang luar biasa ketika proyek open-source yang digerakkan komunitas mampu menyaingi solusi proprietari mahal dari perusahaan besar. Di antara kemajuan yang menonjol, ada model bahasa yang lebih kecil namun sangat efisien seperti Vicuna, Koala, Alpaca, dan StableLM, yang membutuhkan sumber daya komputasi minimal tetapi menghasilkan keluaran sekelas ChatGPT. Yang menyatukan semuanya adalah fondasinya pada model LLaMA dari Meta AI.
Baca 12 Alternatif Open-Source untuk GPT-4 untuk mempelajari pengembangan open-source populer lainnya dalam teknologi bahasa.
Dalam tulisan ini, kita akan mempelajari model LLaMA dari Meta AI, menelusuri cara kerjanya, mengaksesnya melalui pustaka transformers, membandingkan kinerjanya, dan membahas tantangan serta keterbatasannya. Sejak artikel ini pertama kali ditulis, telah rilis LLaMA 2 dan LLaMA 3, dan Anda dapat menemukan detail masing-masing di artikel terpisah kami.
LLaMA (Large Language Model Meta AI) adalah kumpulan model bahasa fondasi mutakhir dengan rentang 7B hingga 65B parameter. Model-model ini berukuran lebih kecil namun memberikan kinerja luar biasa, sehingga secara signifikan mengurangi daya komputasi dan sumber daya yang dibutuhkan untuk bereksperimen dengan metodologi baru, memvalidasi karya orang lain, dan menjelajahi use case inovatif.
Model fondasi ini dilatih pada dataset besar tanpa label, sehingga ideal untuk fine-tuning pada berbagai tugas. Model ini dilatih pada sumber-sumber berikut:
Keberagaman dataset tersebut memberdayakan model untuk mencapai kinerja mutakhir yang menandingi model-model berperforma tertinggi, yakni Chinchilla-70B dan PaLM-540B.
Dapatkan pemahaman menyeluruh tentang evolusi model OpenAI, termasuk GPT-1, GPT-2, GPT-3, dan kondisi terkini GPT-4 dengan membaca: Apa itu GPT-4 dan Mengapa Penting?
LLaMA, sebuah model bahasa auto-regresif, dibangun di atas arsitektur transformer. Seperti model bahasa terkemuka lainnya, LLaMA berfungsi dengan mengambil urutan kata sebagai masukan dan memprediksi kata berikutnya, lalu menghasilkan teks secara rekursif.
Yang membedakan LLaMA adalah pelatihannya pada beragam data teks yang tersedia secara publik yang mencakup banyak bahasa seperti Bulgaria, Catalan, Ceko, Denmark, Jerman, Inggris, Spanyol, Prancis, Kroasia, Hungaria, Italia, Belanda, Polandia, Portugis, Rumania, Rusia, Slovenia, Serbia, Swedia, dan Ukraina. Per 2024, LLaMA 2 telah diperkenalkan dengan arsitektur dan metodologi pelatihan yang ditingkatkan, semakin memperkuat kemampuan multibahasa dan efisiensinya.
Model LLaMA tersedia dalam beberapa ukuran: 7B, 13B, 33B, dan 65B parameter, dan Anda dapat mengaksesnya di Hugging Face (model LLaMA yang dikonversi agar bekerja dengan Transformers) atau di repositori resmi facebookresearch/llama.
Kode inferensi resmi tersedia di repositori facebookresearch/llama, tetapi untuk menyederhanakan, kita akan menggunakan modul pustaka `transformers` dari Hugging Face LLaMA untuk memuat model dan menghasilkan teks.
1. Instal semua Pustaka Python yang diperlukan untuk menjalankan modul.
Catatan: kami menggunakan Google Colab untuk menjalankan inferensi LLaMA.
%%capture
%pip install transformers SentencePiece accelerate
2. Memuat token dan bobot model LLaMA.
Catatan: “decapoda-research/llama-7b-hf” bukan bobot model resmi. Decapoda Research telah mengonversi bobot model asli agar bekerja dengan Transformers.
import transformers, torch
from transformers import LlamaTokenizer, LlamaForCausalLM, GenerationConfig
tokenizer = LlamaTokenizer.from_pretrained("decapoda-research/llama-7b-hf")
model = LlamaForCausalLM.from_pretrained(
"decapoda-research/llama-7b-hf",
load_in_8bit=False,
torch_dtype=torch.float16,
device_map="auto",
)
3. Menulis pertanyaan.
4. Mengonversi teks menjadi token.
5. Membuat konfigurasi generasi model.
6. Menggunakan token dan konfigurasi generasi untuk menghasilkan keluaran teks.
7. Mendekode dan mencetak respons.
instruction = "How old is the universe?"
inputs = tokenizer(
f"""Below is an instruction that describes a task. Write a response that appropriately completes the request.
### Instruction: {instruction}
### Response:""",
return_tensors="pt",
)
input_ids = inputs["input_ids"].to("cuda")
generation_config = transformers.GenerationConfig(
do_sample=True,
temperature=0.1,
top_p=0.75,
top_k=80,
repetition_penalty=1.5,
max_new_tokens=128,
)
with torch.no_grad():
generation_output = model.generate(
input_ids=input_ids,
attention_mask=torch.ones_like(input_ids),
generation_config=generation_config,
)
output_text = tokenizer.decode(
generation_output[0].cuda(), skip_special_tokens=True
).strip()
print(output_text)
Keluaran:
Model tidak hanya menghasilkan perkiraan tepat 13 miliar tahun untuk usia alam semesta, tetapi juga mengungkap penalaran di balik perhitungannya.
Below is an instruction that describes a task. Write a response that
appropriately completes the request.
### Instruction: How old is the universe?
### Response: The age of our Universe can be calculated by measuring
how fast it expands and then using this information to calculate its
size at different points in time, which allows us determine when
things happened relative to each other (evolutionary biology). This
method has been used for many years now with great success; however
there are still some uncertainties about what exactly we're seeing
because light takes so long travel from distant galaxies back here on
Earth! So while scientists have determined roughly 13 billion
year-old as being correct they don't know if their calculations were
off or not due to these limitations mentioned above
Selain itu, transformers dapat digunakan untuk fine-tuning pada beragam tugas dan dataset, sehingga memungkinkan peningkatan yang signifikan dalam akurasi dan performa.
Jika Anda tertarik pada sisi praktis pengembangan open-source, lihat artikel 5 Proyek yang Dibangun dengan Model Generatif untuk inspirasi.
Paper tersebut menyajikan evaluasi komprehensif terhadap model LLaMA, membandingkannya dengan model bahasa mutakhir lainnya seperti GPT-3, GPT-NeoX, Gopher, Chinchilla, dan PaLM. Uji benchmark mencakup penalaran akal sehat, trivia, pemahaman bacaan, tanya jawab, penalaran matematika, pembuatan kode, dan pengetahuan domain umum.
Pengetahuan domain. Model LLaMA berkinerja lebih buruk dibandingkan model PaLM 540B yang masif. PaLM memiliki pengetahuan domain yang luas karena jumlah parameternya yang lebih besar.

Seperti model bahasa besar lainnya, LLaMA juga rentan mengalami halusinasi. Model dapat menghasilkan informasi yang secara faktual salah.
Selain itu:
Untuk memperoleh wawasan tentang pengembangan sumber tertutup, baca Kabar Terbaru tentang OpenAI, Google AI, dan Dampaknya bagi Data Science. Blog ini membahas teknologi bahasa, visi, dan multimodal yang disruptif serta bagaimana teknologi tersebut membuat kita lebih produktif dan efektif.
Dengan rilis berikutnya, LLaMA 2 dan LLaMA 3, tantangan dan keterbatasan baru telah diidentifikasi. Perbaikan dilakukan pada area seperti batas panjang konteks, dan dengan metode seperti fine-tuning, hambatan pada tugas yang memerlukan pengetahuan domain yang mendalam semakin dapat diatasi. Seperti biasa, komunitas aktif bekerja pada aspek-aspek ini untuk meningkatkan ketangguhan dan penerapan model-model tersebut.
Model LLaMA telah memicu gelombang revolusioner dalam pengembangan AI open-source. Dengan model fondasi yang lebih kecil, LLaMA-13B, melampaui kemampuan GPT-3 dan LLaMA-65B menunjukkan performa sebanding dengan model mutakhir seperti Chinchilla-70B dan PaLM-540B, kemajuan ini membuka potensi untuk mencapai hasil setara SOTA melalui pelatihan pada data yang tersedia publik, sembari menggunakan sumber daya komputasi minimal.
Selain itu, paper menyoroti potensi peningkatan kinerja yang dicapai melalui fine-tuning model LLaMA menggunakan instruksi. Secara khusus, model Vicuna dan Stanford Alpaca yang di-fine-tune dari LLaMA pada demonstrasi mengikuti instruksi telah menunjukkan hasil serupa dengan ChatGPT dan Bard.
Jika Anda ingin memanfaatkan model bahasa besar untuk proyek data science Anda, lihat Panduan Menggunakan ChatGPT untuk Proyek Data Science. Anda juga dapat meningkatkan keterampilan prompt engineering dengan meninjau Lembar Contekan ChatGPT untuk Data Science.
Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.
blogs
David Woods
13 mnt
blogs
Dario Radečić
15 mnt

blogs
Javier Canales Luna
14 mnt
blogs
Hugo Bowne-Anderson
13 mnt