All Products
Search
Document Center

Platform For AI:Panduan Cepat Mulai: Penerapan dan fine-tuning Mixtral-8x7B

Last Updated:Jun 05, 2026

Mixtral-8x7B adalah model Sparse Mixture-of-Experts (SMoE) open-source dari Mistral AI yang mengungguli GPT-3.5 pada berbagai benchmark. Model Gallery PAI menyediakan penerapan siap pakai dan fine-tuning LoRA untuk model ini.

Ikhtisar model

Mixtral-8x7B adalah LLM decoder-only berbasis arsitektur Sparse Mixture-of-Experts (SMoE), dirilis di bawah lisensi Apache 2.0. Jaringan router memilih dua dari delapan kelompok expert per token dan menggabungkan output mereka. Meskipun model ini memiliki total 47 miliar parameter, hanya 13 miliar yang aktif per token, sehingga kecepatan inferensinya setara dengan model 13B.

Mixtral-8x7B mendukung bahasa Inggris, Prancis, Jerman, Spanyol, dan Italia dengan panjang konteks 32k token. Model ini menyamai atau melampaui LLaMA2-70B dan GPT-3.5 pada semua benchmark yang dievaluasi, serta secara signifikan mengungguli LLaMA2-70B dalam tugas matematika, pembuatan kode, dan multibahasa.

image.png

Sumber: https://arxiv.org/abs/2401.04088

Mistral AI juga merilis Mixtral-8x7B-Instruct-v0.1, varian yang telah dioptimalkan melalui supervised fine-tuning dan Direct Preference Optimization (DPO). Model ini lebih akurat dalam mengikuti instruksi manusia dan melampaui model open-source lain yang telah dioptimalkan instruksi dalam tugas percakapan.

image.png

Sumber: https://huggingface.co/spaces/lmsys/chatbot-arena-leaderboard

Prasyarat

Sumber daya Layanan Komputasi AI Lingjun telah diaktifkan. Buat kelompok sumber daya dan beli sumber daya Layanan Komputasi AI Lingjun.

Persyaratan lingkungan

  • Contoh ini memerlukan kluster PAI Lingjun di wilayah China (Ulanqab).

  • GPU GU108 (VRAM 80 GB) direkomendasikan. Inferensi memerlukan minimal dua GPU; fine-tuning LoRA memerlukan minimal empat.

Gunakan model di Konsol PAI

Penerapan dan pemanggilan model

  1. Buka halaman Model Gallery.

    1. Login ke Konsol PAI.

    2. Pada bilah navigasi atas, pilih wilayah China (Ulanqab).

    3. Pada panel navigasi kiri, klik workspaces. Di halaman Workspaces, klik nama ruang kerja yang ingin Anda gunakan.

    4. Pada panel navigasi kiri, pilih QuickStart > Model Gallery untuk membuka halaman Model Gallery.

  2. Pada daftar model di sebelah kanan, klik kartu model Mixtral-8x7B-Instruct-v0.1 untuk membuka halaman Model Details.

  3. Di pojok kanan atas, klik Deploy. Konfigurasikan sumber daya komputasi Lingjun dan klik Deploy untuk menerapkan model ke PAI-EAS.

    Model ini memerlukan sumber daya Layanan Komputasi AI Lingjun. Kuota sumber daya harus mencakup minimal dua GPU GU108.

    Pada panel konfigurasi penerapan, atur Resource group type menjadi Lingjun Intelligent Computing Service, atur Number of instances menjadi 1, CPU menjadi 40, dan Memory (MB) menjadi 256000. Lalu, klik Deploy.

  4. Panggil layanan inferensi.

    HTTP API

    Layanan inferensi mendukung API yang kompatibel dengan OpenAI. Dapatkan titik akhir layanan dan token akses dari halaman detail layanan, lalu panggil layanan menggunakan cURL:

     dan  dengan endpoint dan token aktual layanan Anda.  
    export API_ENDPOINT="<ENDPOINT>"  
    export API_TOKEN="<TOKEN>"  
    # Menampilkan daftar model yang tersedia  
    curl $API_ENDPOINT/v1/models \  
    	-H "Content-Type: application/json" \  
    	-H "Authorization: Bearer $API_TOKEN"  
    # Memanggil API pelengkapan teks umum  
    curl $API_ENDPOINT/v1/completions \  
        -H "Content-Type: application/json" \  
        -H "Authorization: Bearer $API_TOKEN" \  
        -d '{  
    			"model": "Mixtral-8x7B-Instruct-v0.1",  
    			"prompt": "San Francisco is a",  
    			"max_tokens": 256,  
    			"temperature": 0  
    	}'  
    # Memanggil API pelengkapan chat  
    curl $API_ENDPOINT/v1/chat/completions \  
        -H "Authorization: Bearer $API_TOKEN" \  
        -H "Content-Type: application/json" \  
        -d '{  
    			"model": "Mixtral-8x7B-Instruct-v0.1",  
          "messages": [  
              {"role": "user", "content": "Tell me about the history of Shanghai."}  
            ]  
          }'  
    # Ganti <endpoint> dan <token> dengan titik akhir dan token aktual layanan Anda.
    export API_ENDPOINT="<ENDPOINT>"
    export API_TOKEN="<TOKEN>"
    # Daftar model yang tersedia
    curl $API_ENDPOINT/v1/models \
    	-H "Content-Type: application/json" \
    	-H "Authorization: Bearer $API_TOKEN"
    # Panggil API penyelesaian teks umum
    curl $API_ENDPOINT/v1/completions \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $API_TOKEN" \
        -d '{
    			"model": "Mixtral-8x7B-Instruct-v0.1",
    			"prompt": "San Francisco is a",
    			"max_tokens": 256,
    			"temperature": 0
    	}'
    # Panggil API penyelesaian chat
    curl $API_ENDPOINT/v1/chat/completions \
        -H "Authorization: Bearer $API_TOKEN" \
        -H "Content-Type: application/json" \
        -d '{
    			"model": "Mixtral-8x7B-Instruct-v0.1",
          "messages": [
              {"role": "user", "content": "Tell me about the history of Shanghai."}
            ]
          }'
    </token></endpoint>

    SDK

    Untuk memanggil layanan menggunakan OpenAI SDK, instal terlebih dahulu SDK tersebut:

    # Instal SDK untuk memanggil layanan
    python -m pip install openai

    Panggil layanan inferensi menggunakan SDK:

     dan  dengan token dan endpoint dari halaman detail layanan.  
    openai.api_key = "<TOKEN>"  
    openai.base_url = "<ENDPOINT>" + "/v1"  
    # Panggil API chat completion  
    completion = openai.chat.completions.create(  
        model="Mixtral-8x7B-Instruct-v0.1",  
        temperature=0.0,  
        top_p=0.8,  
        frequency_penalty=0.0,  
        messages=[{"role": "user", "content": "Tell me about yourself."}],  
        # stream=True,  
    )  
    # Cetak konten output  
    print(completion.choices[0].message.content)  
    import openai
    # Ganti <token> dan <endpoint> dengan token dan titik akhir dari halaman detail layanan.
    openai.api_key = "<TOKEN>"
    openai.base_url = "<ENDPOINT>" + "/v1"
    # Panggil API penyelesaian chat
    completion = openai.chat.completions.create(
        model="Mixtral-8x7B-Instruct-v0.1",
        temperature=0.0,
        top_p=0.8,
        frequency_penalty=0.0,
        messages=[{"role": "user", "content": "Tell me about yourself."}],
        # stream=True,
    )
    # Cetak konten output
    print(completion.choices[0].message.content)
    </endpoint></token>

Fine-tune model

Model Gallery menyediakan algoritma fine-tuning siap pakai untuk Mixtral-8x7B-Instruct-v0.1.

Data pelatihan harus dalam format JSON. Setiap entri memerlukan bidang instruction (pertanyaan) dan bidang output (jawaban):

[
    {
        "instruction": "Write a poem on a topic 'On a Political Prisoner': \n",
        "output": "She that but little patience knew,\r\nFrom childhood on, had now so much\r\nA grey gull lost its fear and flew\r\nDown to her cell and there alit,\r\nAnd there endured her fingers' touch\r\nAnd from her fingers ate its bit.\r\nDid she in touching that lone wing."
    },
    {
        "instruction": "Write a poem on a topic 'To His Love': ",
        "output": "He's gone, and all our plans\r\n   Are useless indeed.\r\nWe'll walk no more on Cotswold\r\n   Where the sheep feed\r\n   Quietly and take no heed.\r\n His body that was so quick\r\n   Is not as you\r\nKnew it, on Severn river\r\n   Under the blue\r\n   Driving our small boat through."
    }
]
  1. Di halaman Model Details, klik Fine-tune di pojok kanan atas. Konfigurasi utama adalah sebagai berikut:

    • Konfigurasi dataset: Unggah data ke Bucket OSS, atau tentukan dataset NAS atau CPFS. PAI juga menyediakan dataset publik untuk pengujian.

    • Konfigurasi sumber daya komputasi: Diperlukan empat GPU GU108 (VRAM 80 GB). Pastikan kuota mencukupi.

    • Konfigurasi hiperparameter: Sesuaikan hiperparameter berikut berdasarkan data dan sumber daya komputasi Anda, atau gunakan nilai default.

      Parameter

      Tipe

      Default

      Wajib

      Deskripsi

      learning_rate

      float

      5e-5

      Ya

      Mengontrol ukuran langkah pembaruan bobot selama pelatihan.

      num_train_epochs

      int

      1

      Ya

      Jumlah kali set data pelatihan diiterasi.

      per_device_train_batch_size

      int

      1

      Ya

      Jumlah sampel yang diproses per GPU per iterasi. Nilai yang lebih besar meningkatkan throughput tetapi menambah penggunaan VRAM.

      seq_length

      int

      128

      Ya

      Panjang urutan input per langkah pelatihan.

      lora_dim

      int

      16

      Tidak

      Dimensi LoRA. Jika lora_dim > 0, ini mengaktifkan fine-tuning ringan dengan LoRA atau QLoRA.

      lora_alpha

      int

      32

      Tidak

      Faktor penskalaan alpha LoRA. Digunakan saat lora_dim > 0.

      load_in_4bit

      bool

      true

      Tidak

      Menentukan apakah model dimuat dalam 4-bit.

      Jika lora_dim > 0, load_in_4bit bernilai true, dan load_in_8bit bernilai false, fine-tuning ringan menggunakan QLoRA 4-bit.

      load_in_8bit

      bool

      false

      Tidak

      Menentukan apakah model dimuat dalam 8-bit.

      Jika lora_dim > 0, load_in_4bit bernilai false, dan load_in_8bit bernilai true, fine-tuning ringan menggunakan QLoRA 8-bit.

      gradient_accumulation_steps

      int

      8

      Tidak

      Jumlah langkah akumulasi gradien.

      apply_chat_template

      bool

      true

      Tidak

      Menentukan apakah algoritma menerapkan templat chat default model ke data pelatihan. Contoh:

      • Pertanyaan: <|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\n + instruction + <|eot_id|>

      • Jawaban: <|start_header_id|>assistant<|end_header_id|>\n\n + output + <|eot_id|>

  2. Mengklik Fine-tune akan membuka halaman pekerjaan pelatihan. Pekerjaan dimulai secara otomatis.

    Di pojok kanan atas, klik Tensorboard untuk membuka TensorBoard dan memantau konvergensi model.image.png

    Model yang telah dilatih secara otomatis didaftarkan di AI Assets - Model Management. Daftarkan dan kelola model.

Gunakan model dengan SDK PAI

Anda juga dapat menggunakan model Model Gallery dengan PAI SDK untuk Python. Instal dan konfigurasikan SDK:

# Instal PAI SDK untuk Python
python -m pip install alipai --upgrade
# Konfigurasikan kredensial akses, ruang kerja PAI, dan informasi lainnya secara interaktif
python -m pai.toolkit.config

Konfigurasikan kredensial akses (Pasangan Kunci Akses) dan ruang kerja seperti yang dijelaskan dalam Instalasi dan konfigurasi.

Penerapan dan pemanggilan model

Terapkan model Mixtral ke PAI-EAS menggunakan pengaturan inferensi pra-konfigurasi dari Model Gallery. Berikan nama layanan dan detail sumber daya:

from pai.session import get_default_session
from pai.model import RegisteredModel
from pai.common.utils import random_str
from pai.predictor import Predictor
session = get_default_session()
# Dapatkan model yang disediakan oleh PAI QuickStart
m = RegisteredModel(
    model_name="Mixtral-8x7B-Instruct-v0.1",
    model_provider="pai",
)
# Tampilkan konfigurasi penerapan default model
print(m.inference_spec)
# Terapkan layanan inferensi
# Anda harus menyediakan ID kuota sumber daya Lingjun (QuotaId) yang memiliki minimal dua kartu GPU GU108 (VRAM 80 GB).
predictor = m.deploy(
    service_name="mixtral_8_7b_{}".format(random_str(6)),
    options={
        # ID kuota sumber daya
        "metadata.quota_id": "<LingJunResourceQuotaId>",
        "metadata.quota_type": "Lingjun",
        "metadata.workspace_id": session.workspace_id,
    }
)
# Dapatkan titik akhir dan token layanan inferensi
endpoint = predictor.internet_endpoint
token = predictor.access_token

Panggil layanan inferensi melalui metode Panggil layanan inferensi di atas, atau gunakan SDK PAI secara langsung:

from pai.predictor import Predictor
p = Predictor("<MixtralServiceName>")
res = p.raw_predict(
    path="/v1/chat/completions",
    method="POST",
    data={
        "model": "Mixtral-8x7B-Instruct-v0.1",
        "messages": [
            {"role": "user", "content": "Tell me about the history of Shanghai."}
        ]
    }
)
print(res.json())

Setelah pengujian, hapus layanan dari konsol atau gunakan SDK untuk melepaskan sumber dayanya.

# Hapus layanan
predictor.delete_service()

Fine-tune model

Ambil model dari Model Gallery untuk melihat algoritma fine-tuning-nya, hiperparameter yang didukung, serta konfigurasi input/output:

from pai.model import RegisteredModel
# Dapatkan model Mixtral-8x7B-Instruct-v0.1 yang disediakan oleh PAI QuickStart
m = RegisteredModel(
    model_name="Mixtral-8x7B-Instruct-v0.1",
    model_provider="pai",
)
# Dapatkan algoritma fine-tuning yang dikonfigurasi untuk model
est = m.get_estimator()
# Tampilkan hiperparameter yang didukung dan informasi input/output algoritma
print(est.hyperparameter_definitions)
print(est.input_channel_definitions)

Algoritma fine-tuning Mixtral-8x7B-Instruct-v0.1 saat ini hanya mendukung sumber daya Layanan Komputasi AI Lingjun. Dapatkan ID kuota sumber daya Anda dari Konsol PAI dan konfigurasikan hiperparameter sebelum mengirimkan pekerjaan:

# Konfigurasikan ID kuota sumber daya Lingjun untuk pekerjaan pelatihan
est.resource_id = "<LingjunResourceQuotaId>"
# Konfigurasikan hiperparameter untuk pekerjaan pelatihan
hps = {
    "learning_rate": 1e-5,
    "per_device_train_batch_size": 2,
}
est.set_hyperparameters(**hps)

Algoritma fine-tuning mendukung tiga input:

  • model: Model pra-latih Mixtral-8x7B-Instruct-v0.1.

  • train: Set data pelatihan untuk fine-tuning.

  • validation: Set data validasi untuk fine-tuning.

Format dataset yang diperlukan dijelaskan di bagian Fine-tune model. Unggah data ke Bucket OSS menggunakan ossutil, konsol, atau SDK:

from pai.common.oss_utils import upload
# Tampilkan input yang digunakan oleh algoritma fine-tuning model
# Dapatkan data input untuk algoritma, termasuk model dan dataset publik untuk pengujian.
training_inputs = m.get_estimator_inputs()
print(training_inputs)
# {
#     "model": "oss://pai-quickstart-cn-wulanchabu.oss-cn-wulanchabu-internal.aliyuncs.com/huggingface/models/Mixtral-8x7B-Instruct-v0.1/main/",
#     "train": "oss://pai-quickstart-cn-wulanchabu.oss-cn-wulanchabu-internal.aliyuncs.com/huggingface/datasets/llm_instruct/en_poetry_train_mixtral.json",
#     "validation": "oss://pai-quickstart-cn-wulanchabu.oss-cn-wulanchabu-internal.aliyuncs.com/huggingface/datasets/llm_instruct/en_poetry_test_mixtral.json",
# }
# Unggah data pengguna. Ganti path file lokal dan path bucket OSS tujuan berikut.
train_data_uri = upload("/path/to/local/train.json", "path/of/train/data")
validation_data_uri = upload("/path/to/local/validation.json", "path/of/validation/data")
# Ganti data pelatihan dengan data Anda sendiri.
# training_inputs["train"] = train_data_uri
# training_inputs["validation"] = validation_data_uri

Ganti input train dan validation dengan dataset Anda sendiri, lalu kirimkan pekerjaan fine-tuning. Gunakan tautan pekerjaan yang dicetak untuk melihat status dan log di Konsol PAI, atau buka TensorBoard untuk memantau konvergensi:

from pai.common.oss_utils import download
# Kirim pekerjaan pelatihan dan cetak tautan ke pekerjaan
est.fit(
    inputs=training_inputs,
    wait=False,
)
# Buka TensorBoard untuk melihat progres pelatihan
est.tensorboard()
# Tunggu hingga pekerjaan pelatihan selesai
est.wait()
# Tampilkan path model di Bucket OSS
print(est.model_data())
# Anda dapat mengunduh model ke mesin lokal menggunakan ossutil atau metode utilitas yang disediakan oleh SDK.
download(est.model_data())

Panduan integrasi SDK lengkap: Gunakan model pra-latih — PAI SDK untuk Python.

Referensi