Kecerdasan buatan

Mistral 2 dan Mistral NeMo: Panduan Lengkap untuk Model LLM Terbaru dari Paris

mm
Mistral Large 2 and Mistral NeMo

Didirikan oleh alumni dari Google’s DeepMind dan Meta, startup Paris-based Mistral AI telah secara konsisten membuat gelombang di komunitas AI sejak 2023.

Mistral AI pertama kali menarik perhatian dunia dengan model debutnya, Mistral 7B, yang dirilis pada 2023. Model dengan 7 miliar parameter ini dengan cepat mendapatkan traksi karena kinerjanya yang mengesankan, melampaui model yang lebih besar seperti Llama 2 13B dalam berbagai benchmark dan bahkan menyaingi Llama 1 34B dalam banyak metrik. Yang membedakan Mistral 7B bukan hanya kinerjanya, tetapi juga aksesibilitasnya – model ini dapat dengan mudah diunduh dari GitHub atau bahkan melalui torrent 13,4 gigabyte, membuatnya tersedia untuk peneliti dan pengembang di seluruh dunia.

Pendekatan tidak konvensional perusahaan dalam merilis, sering melewati kertas tradisional, blog, atau rilis pers, telah terbukti sangat efektif dalam menarik perhatian komunitas AI. Strategi ini, dipasangkan dengan komitmen mereka terhadap prinsip open-source, telah menempatkan Mistral AI sebagai pemain yang tangguh di lanskap AI.

Kenaikan Mistral AI di industri ini lebih lanjut dibuktikan dengan kesuksesan pendanaan mereka baru-baru ini. Perusahaan ini mencapai valuasi $2 miliar setelah putaran pendanaan yang dipimpin oleh Andreessen Horowitz. Ini terjadi setelah putaran pendanaan awal sebesar $118 juta – yang terbesar dalam sejarah Eropa – menunjukkan kepercayaan besar yang dimiliki investor terhadap visi dan kemampuan Mistral AI.

Di luar kemajuan teknologi mereka, Mistral AI juga telah terlibat aktif dalam membentuk kebijakan AI, terutama dalam diskusi sekitar EU AI Act, di mana mereka telah mendukung pengurangan regulasi pada AI open-source.

Sekarang, pada 2024, Mistral AI sekali lagi meningkatkan standar dengan dua model yang mengesankan: Mistral Large 2 (juga dikenal sebagai Mistral-Large-Instruct-2407) dan Mistral NeMo. Dalam panduan komprehensif ini, kita akan menyelami fitur, kinerja, dan aplikasi potensial dari model AI yang mengesankan ini.

Spesifikasi kunci dari Mistral Large 2 termasuk:

  • 123 miliar parameter
  • 128k jendela konteks
  • Dukungan untuk puluhan bahasa
  • Kemampuan dalam 80+ bahasa pemrograman
  • Kemampuan panggilan fungsi yang maju

Model ini dirancang untuk mendorong batas efisiensi biaya, kecepatan, dan kinerja, membuatnya menjadi pilihan menarik bagi peneliti dan perusahaan yang ingin memanfaatkan AI terdepan.

Mistral NeMo: Model Lebih Kecil yang Baru

Sementara Mistral Large 2 mewakili yang terbaik dari model skala besar Mistral AI, Mistral NeMo, yang dirilis pada Juli 2024, mengambil pendekatan yang berbeda. Dikembangkan dalam kolaborasi dengan NVIDIA, Mistral NeMo adalah model 12 miliar parameter yang lebih kompak yang masih menawarkan kemampuan mengesankan:

  • 12 miliar parameter
  • 128k konteks jendela
  • Kinerja kelas atas dalam kategori ukurannya
  • Lisensi Apache 2.0 untuk penggunaan terbuka
  • Quantization-aware pelatihan untuk inferensi yang efisien

Mistral NeMo diposisikan sebagai pengganti drop-in untuk sistem yang saat ini menggunakan Mistral 7B, menawarkan kinerja yang ditingkatkan sambil mempertahankan kemudahan penggunaan dan kompatibilitas.

Fitur dan Kemampuan Kunci

Baik Mistral Large 2 dan Mistral NeMo berbagi beberapa fitur kunci yang membedakan mereka dalam lanskap AI:

  1. Jendela Konteks Besar: Dengan panjang konteks token 128k, kedua model dapat memproses dan memahami potongan teks yang jauh lebih panjang, memungkinkan output yang lebih koheren dan relevan dengan konteks.
  2. Dukungan Multibahasa: Model-model ini unggul dalam berbagai bahasa, termasuk Inggris, Perancis, Jerman, Spanyol, Italia, Cina, Jepang, Korea, Arab, dan Hindi.
  3. Kemampuan Pemrograman yang Maju: Kedua model menunjukkan kemampuan luar biasa dalam generasi kode di berbagai bahasa pemrograman.
  4. Mengikuti Instruksi: Perbaikan signifikan telah dibuat dalam kemampuan model untuk mengikuti instruksi yang tepat dan menangani percakapan multi-giliran.
  5. Panggilan Fungsi: Dukungan asli untuk panggilan fungsi memungkinkan model-model ini untuk berinteraksi secara dinamis dengan alat dan layanan eksternal.
  6. Penalaran dan Pemecahan Masalah: Kemampuan yang ditingkatkan dalam penalaran matematika dan tugas pemecahan masalah yang kompleks.

Mari kita jelajahi beberapa fitur ini dan lihat bagaimana mereka berkinerja dalam prakteknya.

Benchmarks Kinerja

Untuk memahami kemampuan sebenarnya dari Mistral Large 2 dan Mistral NeMo, penting untuk melihat kinerja mereka di berbagai benchmark. Mari kita lihat beberapa metrik kunci:

Benchmarks Mistral Large 2

Tabel ini menyajikan kemampuan berbagai LLM dalam berbagai bahasa pemrograman. Model seperti Mistral Large 2 (24.07), Llama 3.1 (405B), dan GPT-4o dievaluasi berdasarkan kemampuan mereka untuk memahami dan menghasilkan kode dalam bahasa seperti Python, C++, Bash, Java, TypeScript, PHP, dan C#.

Llama 3.1 405B menunjukkan kinerja yang kuat di berbagai bahasa, dengan skor yang sangat tinggi dalam Python dan Java. Kemampuan ini sangat penting untuk aplikasi yang melibatkan generasi kode, debugging, dan pengembangan perangkat lunak, membuat model-model ini menjadi alat yang berharga bagi pengembang.

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Benchmarks Mistral NeMo

Sementara skor benchmark spesifik untuk Mistral NeMo tidak disediakan dalam informasi yang diberikan, model ini digambarkan menawarkan kinerja kelas atas dalam kategori ukurannya. Model ini outperforms model open-source pre-trained lainnya seperti Gemma 2 9B dan Llama 3 8B dalam berbagai tugas.

Kemampuan Multibahasa dan Pemrograman

Salah satu fitur unggulan dari kedua model, Mistral Large 2 dan Mistral NeMo, adalah kemampuan multibahasa yang luar biasa. Ini sangat penting dalam dunia yang semakin global, di mana model AI perlu memahami dan menghasilkan konten dalam banyak bahasa.

Mistral Large 2, misalnya, mendukung puluhan bahasa, termasuk Perancis, Jerman, Spanyol, Italia, Portugis, Arab, Hindi, Rusia, Cina, Jepang, dan Korea. Kemampuan multibahasa ini melampaui sekedar terjemahan, mencakup pemahaman dan generasi nuansa dalam bahasa-bahasa tersebut.

Untuk mengilustrasikan ini, mari kita lihat contoh Mistral Large 2 menghasilkan teks dalam beberapa bahasa:

[INST] Generate a short greeting in English, French, German, Spanish, and Japanese. [/INST]

Ini adalah salam singkat dalam bahasa yang diminta:

Inggris: Halo! Bagaimana hari Anda hari ini?
Perancis: Bonjour ! Comment allez-vous aujourd’hui ?
Jerman: Hallo! Wie geht es Ihnen heute?
Spanyol: ¡Hola! ¿Cómo estás hoy?
Jepang: こんにちは!今日はお元気ですか?

[INST]

Sekarang, tulis program “Halo, Dunia!” sederhana dalam Python, Java, dan JavaScript. [/INST]

Contoh-contoh ini menunjukkan kemampuan generasi teks multibahasa dan pemrograman model.

Kedua model tersedia di berbagai platform seperti Hugging Face, platform Mistral AI, dan penyedia layanan cloud besar seperti Google Cloud Platform, Azure AI Studio, Amazon Bedrock, dan IBM watsonx.ai​ (Mistral AI | Frontier AI in your hands)​​​.

Paradigma Agensi dan Panggilan Fungsi

Baik Mistral Large 2 dan Mistral NeMo menerima desain paradigma agensi, yang mewakili pergeseran paradigma dalam cara kita berinteraksi dengan model AI. Pendekatan ini fokus pada membangun model yang dapat berinteraksi dengan lingkungannya, membuat keputusan, dan mengambil tindakan untuk mencapai tujuan tertentu.

Fitur kunci yang memungkinkan paradigma ini adalah dukungan asli untuk panggilan fungsi. Ini memungkinkan model untuk berinteraksi secara dinamis dengan alat dan layanan eksternal, secara efektif memperluas kemampuan mereka melampaui sekedar generasi teks.

Mari kita lihat contoh bagaimana panggilan fungsi mungkin bekerja dengan Mistral Large 2:

from mistral_common.protocol.instruct.tool_calls import Function, Tool
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
from mistral_common.protocol.instruct.messages import UserMessage
from mistral_common.protocol.instruct.request import ChatCompletionRequest

<p># Inisialisasi tokenizer dan model
mistral_models_path = &quot;jalur/ke/mistral/models&quot; # Pastikan jalur ini benar
tokenizer = MistralTokenizer.from_file(f&quot;{mistral_models_path}/tokenizer.model.v3&quot;)
model = Transformer.from_folder(mistral_models_path)</p>

<p># Definisikan fungsi untuk mendapatkan informasi cuaca
fungsi_cuaca = Function(
name=&quot;get_current_weather&quot;,
description=&quot;Mendapatkan cuaca saat ini&quot;,
parameters={
&quot;type&quot;: &quot;object&quot;,
&quot;properties&quot;: {
&quot;lokasi&quot;: {
&quot;type&quot;: &quot;string&quot;,
&quot;description&quot;: &quot;Kota dan negara, misalnya San Francisco, CA&quot;,
},
&quot;format&quot;: {
&quot;type&quot;: &quot;string&quot;,
&quot;enum&quot;: [&quot;celsius&quot;, &quot;fahrenheit&quot;],
&quot;description&quot;: &quot;Satuan suhu untuk digunakan. Inferensi dari lokasi pengguna.&quot;,
},
},
&quot;required&quot;: [&quot;lokasi&quot;, &quot;format&quot;],
},
)</p>

<p># Buat permintaan penyelesaian obrolan dengan fungsi
permintaan_penyelesaian = ChatCompletionRequest(
tools=[Tool(function=fungsi_cuaca)],
messages=[
UserMessage(content=&quot;Apa cuaca hari ini di Paris?&quot;),
],
)</p>

<p># Encode permintaan
token = tokenizer.encode_chat_template(permintaan_penyelesaian).tokens</p>

<p># Hasilkan respons
out_tokens, _ = generate([token], model, max_tokens=256, temperature=0.7, eos_id=tokenizer.instruct_tokenizer.tokenizer.eos_id)
hasil = tokenizer.decode(out_tokens[0])</p>

print(hasil)

Dalam contoh ini, kita mendefinisikan fungsi untuk mendapatkan informasi cuaca dan memasukkannya ke dalam permintaan penyelesaian obrolan. Model kemudian dapat menggunakan fungsi ini untuk mendapatkan data cuaca waktu nyata, menunjukkan bagaimana model dapat berinteraksi dengan sistem eksternal untuk memberikan informasi yang lebih akurat dan terkini.

Tekken: Tokenizer yang Lebih Efisien

Mistral NeMo memperkenalkan tokenizer baru yang disebut Tekken, yang didasarkan pada Tiktoken dan dilatih pada lebih dari 100 bahasa. Tokenizer baru ini menawarkan perbaikan signifikan dalam efisiensi kompresi teks dibandingkan dengan tokenizer sebelumnya seperti SentencePiece.

Fitur kunci dari Tekken termasuk:

  • 30% lebih efisien kompresi untuk kode sumber, Cina, Italia, Perancis, Jerman, Spanyol, dan Rusia
  • 2x lebih efisien kompresi untuk Korea
  • 3x lebih efisien kompresi untuk Arab
  • Mengungguli tokenizer Llama 3 dalam mengompresi teks untuk sekitar 85% dari semua bahasa

Efisiensi tokenisasi yang ditingkatkan ini berarti kinerja model yang lebih baik, terutama ketika menangani teks multibahasa dan kode sumber. Ini memungkinkan model untuk memproses lebih banyak informasi dalam jendela konteks yang sama, menghasilkan output yang lebih koheren dan relevan dengan konteks.

Lisensi dan Ketersediaan

Mistral Large 2 dan Mistral NeMo memiliki model lisensi yang berbeda, mencerminkan kasus penggunaan yang diinginkan:

Mistral Large 2

  • Dirilis di bawah Lisensi Penelitian Mistral
  • Mengizinkan penggunaan dan modifikasi untuk tujuan penelitian dan non-komersial
  • Penggunaan komersial memerlukan Lisensi Komersial Mistral

Mistral NeMo

  • Dirilis di bawah lisensi Apache 2.0
  • Mengizinkan penggunaan terbuka, termasuk aplikasi komersial

Kedua model tersedia melalui berbagai platform:

  • Hugging Face: Berat untuk model dasar dan instruksi diposting di sini
  • Mistral AI: Tersedia sebagai mistral-large-2407 (Mistral Large 2) dan open-mistral-nemo-2407 (Mistral NeMo)
  • Penyedia Layanan Cloud: Tersedia di Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock, dan IBM watsonx.ai
https://mistral.ai/news/mistral-large-2407/

https://mistral.ai/news/mistral-large-2407/

Untuk pengembang yang ingin menggunakan model-model ini, berikut adalah contoh cepat tentang cara memuat dan menggunakan Mistral Large 2 dengan Hugging Face transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer

<p>nama_model = &quot;mistralai/Mistral-Large-Instruct-2407&quot;
perangkat = &quot;cuda&quot; # Gunakan GPU jika tersedia</p>

<p># Muat model dan tokenizer
model = AutoModelForCausalLM.from_pretrained(nama_model)
tokenizer = AutoTokenizer.from_pretrained(nama_model)</p>

<p># Pindahkan model ke perangkat yang sesuai
model.to(perangkat)</p>

<p># Siapkan input
pesan = [
{&quot;peran&quot;: &quot;sistem&quot;, &quot;konten&quot;: &quot;Anda adalah asisten AI yang membantu.&quot;},
{&quot;peran&quot;: &quot;pengguna&quot;, &quot;konten&quot;: &quot;Jelaskan konsep jaringan saraf dalam bahasa sederhana.&quot;}
]</p>

<p># Encode input
id_token = tokenizer.apply_chat_template(pesan, return_tensors=&quot;pt&quot;).to(perangkat)</p>

<p># Hasilkan respons
id_output = model.generate(id_token, max_new_tokens=500, do_sample=True)</p>

<p># Decode dan cetak respons
respons = tokenizer.decode(id_output[0], skip_special_tokens=True)
print(respons)</p>

Kode ini menunjukkan cara memuat model, menyiapkan input dalam format obrolan, menghasilkan respons, dan mendekode output.

Batasan dan Pertimbangan Etis

Sementara Mistral Large 2 dan Mistral NeMo mewakili kemajuan signifikan dalam teknologi AI, penting untuk mengakui batasan mereka dan pertimbangan etis yang mengelilingi penggunaan mereka:

  1. Potensi Bias: Seperti semua model AI yang dilatih pada dataset besar, model-model ini mungkin mewarisi dan memperkuat bias yang ada dalam data pelatihan mereka. Pengguna harus menyadari hal ini dan mengimplementasikan perlindungan yang sesuai.
  2. Kurangnya Pemahaman Sebenarnya: Meskipun kemampuan mereka yang mengesankan, model-model ini tidak memiliki pemahaman atau kesadaran sebenarnya. Mereka menghasilkan respons berdasarkan pola dalam data pelatihan mereka, yang terkadang dapat menghasilkan informasi yang terdengar masuk akal tetapi salah.
  3. Keprihatinan Privasi: Ketika menggunakan model-model ini, terutama dalam aplikasi yang menangani informasi sensitif, penting untuk mempertimbangkan implikasi privasi dan keamanan data.

Kesimpulan

Penggunaan model lanjutan seperti Mistral Large 2 dan Mistral NeMo menawarkan kesempatan kuat untuk memanfaatkan AI terdepan untuk berbagai aplikasi, dari panggilan fungsi dinamis hingga pemrosesan multibahasa yang efisien. Berikut adalah beberapa tips praktis dan wawasan kunci untuk dipertimbangkan:

  1. Pahami Kasus Penggunaan Anda: Tentukan tugas dan tujuan spesifik yang Anda inginkan model untuk capai. Pemahaman ini akan memandu pilihan model dan pendekatan fine-tuning Anda, apakah itu kemampuan panggilan fungsi yang kuat dari Mistral atau pemrosesan teks multibahasa yang efisien.
  2. Optimalkan untuk Efisiensi: Manfaatkan tokenizer Tekken untuk meningkatkan efisiensi kompresi teks secara signifikan, terutama jika aplikasi Anda melibatkan penanganan volume teks besar atau banyak bahasa. Ini akan meningkatkan kinerja model dan mengurangi biaya komputasi.
  3. Manfaatkan Panggilan Fungsi: Terima paradigma agensi dengan mengintegrasikan panggilan fungsi dalam interaksi model Anda. Ini memungkinkan AI Anda untuk berinteraksi secara dinamis dengan alat dan layanan eksternal, memberikan output yang lebih akurat dan dapat ditindaklanjuti. Misalnya, mengintegrasikan API cuaca atau sumber data eksternal lainnya dapat secara signifikan meningkatkan relevansi dan utilitas respons model.
  4. Pilih Platform yang Tepat: Pastikan Anda menggelar model Anda di platform yang mendukung kemampuan mereka, seperti Google Cloud Platform’s Vertex AI, Azure AI Studio, Amazon Bedrock, dan IBM watsonx.ai. Platform-platform ini menyediakan infrastruktur dan alat yang diperlukan untuk memaksimalkan kinerja dan skalabilitas model AI Anda.

Dengan mengikuti tips ini dan menggunakan contoh kode yang disediakan, Anda dapat secara efektif memanfaatkan kekuatan Mistral Large 2 dan Mistral NeMo untuk kebutuhan spesifik Anda.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah membawa saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.