- Ollama mulai mendukung model multimodal (teks+gambar) melalui engine baru
- Mendukung berbagai model vision multimodal seperti Llama 4 Scout dan Gemma 3, sehingga memungkinkan tanya jawab yang menggabungkan gambar dan teks
- Engine baru ini menghadirkan modularitas model yang lebih baik, peningkatan akurasi, dan manajemen memori yang efisien
- Melalui caching gambar, pemanfaatan metadata perangkat keras, dan lainnya, Ollama mencapai performa inferensi yang cepat serta optimasi perangkat keras
- Ke depannya akan ada perluasan fitur seperti dukungan konteks yang lebih panjang, tool calling, dan streaming
Dukungan model multimodal di Ollama
Dengan diperkenalkannya engine multimodal baru, Ollama kini mendukung model vision multimodal terbaru yang menangani gambar dan teks secara terpadu
Pemahaman dan penalaran multimodal terpadu
Llama 4 Scout
- Ollama mendukung Llama 4 Scout (109 miliar parameter, model mixture-of-experts)
- Sebagai contoh, pengguna dapat mengajukan pertanyaan berbasis lokasi dari frame video
- Contoh: mendeteksi berbagai karakteristik gambar seperti bangunan tertentu, elemen lingkungan, dan informasi latar belakang
- Berbagai pertanyaan lanjutan juga dapat diteruskan secara alami
- Contoh: pertanyaan seperti "Seberapa jauh dari bangunan ini ke Stanford?" dan "Cara terbaik untuk pergi ke sana apa?" dapat dijawab dengan informasi yang akurat
- Memberikan jawaban yang sesuai situasi nyata, termasuk berbagai moda transportasi, rute, dan perkiraan waktu tempuh
Gemma 3
- Gemma 3 dapat menerima beberapa gambar sekaligus dan menganalisis hubungan antar gambar tersebut
- Contoh: dengan cepat mengidentifikasi hewan atau tumbuhan yang sama-sama muncul dalam 4 gambar, keberadaan adegan tertentu, atau situasi yang tidak biasa
- Sebagai contoh yang menarik, model dapat menganalisis siapa yang akan menang dalam adegan llama dan lumba-lumba sedang bertinju, sambil memahami karakteristik dan dinamika masing-masing objek
Pengenalan dan analisis dokumen
Qwen 2.5 VL
- Model Qwen 2.5 VL digunakan untuk pengenalan karakter (OCR) dan ekstraksi informasi teks tertentu di dalam gambar
- Contoh penggunaan nyata mencakup mengekstrak informasi dari cek atau menerjemahkan kaligrafi vertikal berbahasa Mandarin seperti bait Tahun Baru Musim Semi ke bahasa Inggris
Karakteristik engine multimodal Ollama
- Hingga kini, Ollama telah mengandalkan proyek ggml-org/llama.cpp untuk dukungan model, dan mengembangkannya dengan fokus pada kemudahan penggunaan serta portabilitas model
- Seiring banyaknya laboratorium yang baru-baru ini merilis model multimodal, Ollama memperkuat engine-nya sendiri agar dapat mendukung lebih banyak model sesuai tujuannya
- Engine baru ini memperlakukan model multimodal sebagai objek mandiri dan kelas satu, sekaligus meningkatkan partisipasi mitra dan komunitas
Makna perkembangan engine
- Menjadi dasar untuk meningkatkan keandalan dan akurasi inferensi lokal Ollama, sekaligus mendukung beragam bidang multimodal di masa depan (misalnya: suara, pembuatan gambar, pembuatan video, dukungan konteks panjang, pemanfaatan tool yang lebih baik, dan lain-lain)
Modularitas model
- Dirancang agar setiap model memiliki “cakupan pengaruh” yang terisolasi, sehingga keandalan meningkat dan pengembang dapat lebih mudah mengintegrasikan model baru
- ggml/llama.cpp sebelumnya hanya mendukung model teks, sedangkan pada multimodal decoder teks dan encoder vision dipisahkan dan dijalankan secara terpisah
- Karena gambar harus di-embedding oleh algoritme vision lalu diteruskan ke model teks, logika tiap model dapat diimplementasikan dengan lebih ramping
- Di dalam Ollama, model dapat secara mandiri memisahkan lapisan proyeksi embedding dan struktur yang sesuai dengan skema pelatihan khas model tersebut
- Pembuat model dapat fokus pada model dan pelatihannya sendiri tanpa patch tambahan atau conditional yang rumit
- Beberapa contoh struktur model dapat dilihat di repositori GitHub Ollama
Peningkatan akurasi
- Gambar berukuran besar dapat menghasilkan jumlah token yang besar sehingga bisa melampaui ukuran batch
- Jika gambar melebihi batch, informasi posisional bisa rusak
- Saat memproses gambar, Ollama menambahkan metadata tambahan untuk meningkatkan akurasi
- Diproses secara detail, termasuk apakah causal attention diterapkan, pembagian batch embedding gambar, serta pengelolaan batas antar batch
- Jika titik pembagian tidak tepat, kualitas output bisa menurun, sehingga patokannya disesuaikan dengan makalah tiap model
- Tool inferensi lokal lain mengimplementasikannya dengan cara masing-masing, tetapi Ollama menjamin kualitas melalui pemrosesan yang akurat sesuai desain model dan metode pelatihannya
Optimasi manajemen memori
- Caching gambar: gambar yang sudah diproses sekali akan terus disimpan di memori sehingga pemrosesan prompt berikutnya menjadi lebih cepat. Selama batas memori belum tercapai, gambar akan tetap dipertahankan
- Prediksi memori dan optimasi cache KV: bekerja sama dengan produsen perangkat keras dan mitra OS untuk mengenali metadata perangkat keras secara akurat dan mengoptimalkan penggunaan memori
- Melakukan verifikasi berdasarkan versi firmware dan benchmarking untuk fitur baru
- Ollama mengoptimalkan causal attention secara terpisah di tingkat model, dan menyediakan pengaturan khusus untuk tiap model, bukan hanya di tingkat grup
- Contoh:
- Gemma 3 dari Google DeepMind: mengalokasikan hanya sebagian panjang konteks melalui sliding window attention, sementara sisa memori dialokasikan untuk inferensi bersamaan dan lainnya
- Llama 4 Scout, Maverick, dan lainnya dari Meta: mendukung chunked attention, 2D rotary embedding, dan implementasi dukungan konteks panjang untuk model mixture-of-experts
- Contoh:
- Untuk model yang lapisan attention-nya belum diimplementasikan sepenuhnya, model mungkin tetap dapat “berjalan”, tetapi dalam jangka panjang kualitas output bisa menurun atau menghasilkan hasil yang tidak normal
Rencana ke depan
- Dukungan panjang konteks yang lebih besar
- Penguatan kemampuan inferensi/penalaran
- Penyediaan tool calling dan respons streaming
- Perluasan kemampuan penggunaan komputer secara langsung
Ucapan terima kasih
- Organisasi dan peneliti yang berkontribusi pada pengembangan model
- Menyampaikan terima kasih kepada berbagai laboratorium dan anggota komunitas yang berupaya mengembangkan model vision, termasuk Google DeepMind, Meta Llama, Alibaba Qwen, Mistral, IBM Granite, dan lainnya
- GGML
- Library tensor dari tim GGML merupakan elemen inti yang membentuk engine inferensi Ollama. Dari Go, GGML dapat diakses secara langsung untuk memanfaatkan graph inferensi kustom dan perancangan arsitektur model yang kompleks
- Mitra perangkat keras
- Menyampaikan terima kasih kepada mitra perangkat keras seperti NVIDIA, AMD, Qualcomm, Intel, dan Microsoft yang telah membantu meningkatkan performa inferensi di berbagai perangkat
1 komentar
Komentar Hacker News
llama.cppakhirnya membuahkan hasil setelah fitur vision yang stabil akhirnya masuk ke branch utama, menduga Ollama tampaknya sudah lama menyiapkan fitur ini, dan merasa keputusan untuk melepaskan ketergantungan awal padallama.cpplalu bergerak mandiri adalah penilaian yang masuk akalllama.cppjuga merupakan proyek hebat sehingga bila mereka membuat mesin pengganti muncul harapan untuk melihat contoh bagaimana itu dibangun, menduga pustaka tensor GGML memegang peran inti, memahami strukturnya sebagai penulisan langsung operasi model (misalnya implementasi Gemma3) di Go melalui FFI (pemanggilan fungsi lintas bahasa) sambil memanfaatkan fitur GGML, dan merasa detail teknis seperti ini seharusnya dijelaskan lebih eksplisit di blog resmillama.cppsecara langsungllama.cpp, dengan membagikan tautan Reddit dan GitHub issue, bahkan menunjukkan bahwa di beberapa proyek kredit justru jatuh ke Ollama padahal yang dipakai langsung adalahllama.cpp, serta menjelaskan bahwa meski Ollama tidak berkontribusi langsung (dan itu bukan kewajiban), ada fork internal yang dipelihara sehingga orang yang tertarik bisa memanfaatkan kodenya kapan pun dengan cara cherry-pickllama.cppselama bertahun-tahun sebagai masalah, sambil menambahkan bahwa sekarang setidaknya ada penulisan kredit yang agak lebih terbukallama.cpp, lmstudio, ramalama, dan lainnya punya struktur yang membuat situasi masing-masing lebih jelas, dan ramalama disebut cukup banyak berkontribusi ke berbagai open source terkait, sambil menyertakan tautan GitHub yang layak dirujukllama.cpp, tetapi tidak menunjukkan atau mengakui hal tersebut secara terbuka