Masalah Output Terstruktur Ollama GPT-OSS
Tidak terlalu menarik.
Model GPT-OSS Ollama memiliki masalah berulang dalam menangani output terstruktur, terutama ketika digunakan dengan kerangka kerja seperti LangChain, OpenAI SDK, vllm, dan lainnya.
Banyak pengguna melaporkan kegagalan dalam menghasilkan JSON yang valid atau format terstruktur lainnya, halusinasi model terhadap elemen format, serta konten respons yang tidak konsisten atau kosong. Masalah ini berasal dari celah kompatibilitas saat ini, perubahan format respons (seperti Harmony), dan penerapan tidak lengkap dari skema output oleh Ollama dan API pihak ketiga.
Mengenai GPT-OSS
Ini adalah sebuah LLM baru yang sangat menarik dari OpenAI. Hanya lihat parameter berikut:
Model | gpt-oss-120b | gpt-oss-20b |
---|---|---|
Lapisan | 36 | 24 |
Total Parameter | 117B | 21B |
Parameter Aktif per Token | 5,1B | 3,6B |
Total Ahli | 128 | 32 |
Ahli Aktif per Token | 4 | 4 |
Panjang Konteks | 128k | 128k |
Catatan rilis menyatakan (di sini dan di sini):
- Lisensi Apache 2.0 yang longgar: Bangun secara bebas tanpa pembatasan copyleft atau risiko paten—ideal untuk eksperimen, penyesuaian, dan penggunaan komersial.
- Upaya penalaran yang dapat dikonfigurasi: Mudah menyesuaikan upaya penalaran (rendah, sedang, tinggi) berdasarkan kebutuhan penggunaan spesifik dan kebutuhan latensi.
- Penalaran penuh: Dapatkan akses penuh terhadap proses penalaran model, memudahkan debugging dan meningkatkan kepercayaan terhadap output. Ini tidak dimaksudkan untuk ditampilkan kepada pengguna akhir.
- Dapat dilatih ulang: Kustomisasi penuh model sesuai kebutuhan spesifik melalui pelatihan ulang parameter.
- Kemampuan agen: Gunakan kemampatan asli model untuk pemanggilan fungsi, penjelajahan web, eksekusi kode Python, dan Output Terstruktur.
- Kuantisasi MXFP4: Model dilatih ulang dengan kuantisasi MXFP4 dari bobot MoE, membuat gpt-oss-120b berjalan pada satu GPU 80GB (seperti NVIDIA H100 atau AMD MI300X) dan model gpt-oss-20b berjalan dalam 16GB memori. Semua evaluasi dilakukan dengan kuantisasi MXFP4 yang sama.
Apa yang tidak bisa dicintai? Perilaku output terstruktur… itulah yang terjadi. Secara keseluruhan, isu ini sangat mengecewakan, terutama karena Output Terstruktur berfungsi dengan baik dengan Ollama dan Qwen3.
Masalah Umum
- Model seperti gpt-oss:20b sering gagal menghasilkan JSON ketat atau output yang sesuai dengan skema, dengan respons sering kali berisi komentar tambahan atau objek yang tidak lengkap.
- Integrasi dengan LangChain dan OpenAI SDK cenderung memunculkan kesalahan parsing/pengvalidan karena output yang tidak terstruktur, membuat pipeline tidak dapat digunakan dalam lingkungan produksi.
- Format Harmony dalam gpt-oss memperkenalkan jejak penalaran bahkan ketika tidak diminta, memperumit parsing skema dibandingkan model lain seperti Qwen3.
- Dengan vllm, mekanisme penegakan output terstruktur tidak tersedia atau sudah ditinggalkan, sehingga output sering kali “tidak terarah” dan harus diparsis secara manual.
- Ada laporan bahwa model menghasilkan output terstruktur yang benar, lalu melanjutkan dengan konten yang tidak relevan, memecah parser standar.
Solusi dan Pemecahan Masalah
- Beberapa pengguna menyarankan untuk secara eksplisit menentukan skema JSON dalam prompt dan mencoba parsing manual output model, terkadang menggunakan penanda pembuka dan penutup.
- Pendekatan lain adalah menjalankan lapisan pascaproses atau LLM yang lebih kecil untuk mereformat output GPT-OSS ke skema yang diinginkan, meskipun ini memakan sumber daya.
- Beberapa perbaikan bug dan permintaan pengembangan (PR) telah meningkatkan kepatuhan format Harmony secara bertahap, terutama dengan rilis Ollama yang lebih baru, tetapi kesamaan penuh dengan model sebelumnya belum tercapai.
- Ketika menggunakan vllm, memperbaiki fungsi tertentu mungkin membantu, tetapi secara umum, penegakan skema yang kuat tidak didukung saat ini.
Rekomendasi
- Hindari bergantung sepenuhnya pada GPT-OSS untuk output terstruktur ketat hingga kompatibilitas penuh kembali dipulihkan dalam Ollama dan kerangka kerja turunan.
- Di mana output terstruktur sangat penting, gunakan parsing tambahan atau model yang lebih dikenal karena kepatuhan skema.
- Pantau masalah relevan di GitHub (ollama/ollama, langchain-ai/langchain, vllm-project/vllm) untuk perbaikan dan pembaruan integrasi.
Secara ringkas, GPT-OSS dengan Ollama saat ini mengalami kesulitan dalam output terstruktur, terutama karena penegakan format yang tidak lengkap, perubahan format Harmony, dan kurangnya dukungan lintas alat. Solusi manual mungkin membantu, tetapi keberhasilan yang konsisten tidak dijamin.
Tautan yang Berguna
- https://www.reddit.com/r/MachineLearning/comments/1n37qnu/d_ollamagptoss20b_cant_seem_to_generate/
- https://github.com/vllm-project/vllm/issues/23120
- https://github.com/ollama/ollama/issues/11691
- https://huggingface.co/openai/gpt-oss-20b/discussions/111
- https://github.com/langchain-ai/langchain/issues/33116
- https://ollama.com/library/gpt-oss
- https://openai.com/index/introducing-gpt-oss/
Artikel Ollama Lainnya
- LLM dan Output Terstruktur: Ollama, Qwen3 & Python atau Go
- Perbandingan Output Terstruktur di Penyedia LLM Populer - OpenAI, Gemini, Anthropic, Mistral dan AWS Bedrock
- Ollama cheatsheet
- Uji Coba: Bagaimana Ollama Menggunakan Kinerja CPU Intel dan Core Efisien
- Bagaimana Ollama Menangani Permintaan Paralel
- Kinerja LLM dan Jalur PCIe: Pertimbangan Penting