Poin utama
- Model lokal terbaik adalah yang terbesar yang muat di VRAM Anda dengan kecepatan yang dapat digunakan, bukan yang memiliki reputasi terbaik.
- Ollama menyediakan endpoint yang kompatibel dengan OpenAI di mesin Anda sendiri, sehingga kode klien yang sama berfungsi baik secara lokal maupun di-host.
- Lokal memberikan privasi dan penggunaan offline; yang di-host memberikan model yang lebih besar, tanpa perangkat keras dan tanpa pengaturan.
- Kami hanya menawarkan endpoint yang di-host: tidak ada unduhan model dari layanan ini.
Jawaban singkat: pilih berdasarkan memori, lalu uji dua atau tiga
Tidak ada model terbaik tunggal untuk ini, karena batasnya adalah perangkat keras Anda. Model harus muat dalam memori GPU (atau RAM sistem, jauh lebih lambat) bersama dengan cache kerjanya. Aturan praktisnya sederhana: temukan model terbesar yang muat dengan nyaman di memori Anda dan masih menjawab dengan kecepatan yang dapat Anda terima, lalu bandingkan dua atau tiga kandidat dengan prompt Anda sendiri.
Nama model dan peringkat berubah setiap beberapa minggu, sehingga daftar yang ditulis hari ini cepat usang. Lewati papan peringkat dan gunakan metode singkat: jelajahi perpustakaan Ollama dan unggahan komunitas, filter model yang dijelaskan sebagai uncensored, abliterated atau fine-tuned untuk roleplay, ambil satu model kecil dan satu model ukuran menengah, lalu jalankan sepuluh prompt yang sama pada masing-masing. Prompt Anda sendiri memberi tahu Anda lebih banyak daripada skor pada benchmark orang lain.
Jika setelah itu Anda menemukan bahwa model yang muat di mesin Anda terlalu kecil untuk kualitas yang Anda inginkan, endpoint yang di-host adalah alternatifnya. Sisa halaman ini menguraikan pertukarannya sehingga Anda dapat memutuskan dengan angka.
Cara menentukan ukuran model untuk mesin Anda
Tiga angka menentukan apa yang berjalan dengan baik: jumlah parameter, kuantisasi, dan panjang konteks.
Parameter dan kuantisasi
Model dengan lebih banyak parameter umumnya menulis lebih baik, mengikuti instruksi lebih andal, dan mempertahankan karakter lebih lama. Namun, parameter membutuhkan memori. Pada presisi 16-bit penuh, model membutuhkan sekitar dua byte per parameter, sehingga model 7B membutuhkan sekitar 14 GB sebelum cache apa pun. Kuantisasi mengurangi hal tersebut. Versi 4-bit membutuhkan sekitar setengah byte per parameter, sehingga model 7B yang sama muat dalam sekitar 4 hingga 5 GB. Kualitas turun sedikit dengan setiap langkah ke bawah, dan penurunan kualitas biasanya kecil pada 4 hingga 5 bit dan terlihat di bawah itu.
Panjang konteks
Jendela konteks juga membutuhkan memori, karena model menyimpan cache dari semua hal dalam percakapan. Sesi roleplay yang panjang atau cerita dengan banyak teks sebelumnya membutuhkan cache yang lebih besar. Ollama memungkinkan Anda mengatur ukuran konteks per model, dan nilai yang lebih besar menggunakan lebih banyak memori dan memperlambat generasi. Banyak pengaturan lokal berjalan dengan jendela beberapa ribu token agar tetap cepat, yang berarti model melupakan awal obrolan panjang.
Kecepatan
Jika model meluap dari memori GPU ke RAM sistem, generasi dapat turun dari kecepatan baca yang nyaman menjadi kata demi waktu. Model yang lebih kecil yang muat sepenuhnya di GPU sering terasa lebih baik daripada model yang lebih besar yang tidak, meskipun model yang lebih besar menulis sedikit lebih baik.
Menjalankan model di Ollama dan memanggilnya dari kode
Setelah Ollama terinstal, mengunduh dan mengobrol membutuhkan dua perintah, dan nama model yang tepat berasal dari halaman perpustakaan yang Anda pilih:
ollama pull MODEL_NAME
ollama run MODEL_NAME
Ollama juga melayani API yang kompatibel dengan OpenAI di mesin Anda sendiri, secara default di http://localhost:11434/v1. Itu berarti kode klien yang sama dapat berbicara dengan model lokal atau yang di-host, dan Anda beralih dengan mengubah URL dasar dan nama model:
from openai import OpenAI
# Local Ollama (the key is ignored but must be non-empty)
local = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
# Hosted endpoint
hosted = OpenAI(base_url="https://api.ornith.top/v1", api_key="YOUR_API_KEY")
def ask(client, model, text):
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": text}],
)
return r.choices[0].message.content
prompt = "Write a tense two-paragraph scene set in an abandoned lighthouse."
print(ask(local, "MODEL_NAME", prompt))
print(ask(hosted, "uncensored", prompt))
Menjalankan keduanya pada prompt yang sama adalah cara tercepat untuk menjawab pertanyaan untuk kasus Anda sendiri. Jika output lokal cukup baik, Anda selesai dan biayanya hanya listrik Anda. Jika tidak, Anda memiliki baseline untuk apa yang akan Anda dapatkan.
Ollama lokal versus API yang di-host
Tidak ada yang lebih baik dalam setiap kasus. Tabel ini berpegang pada apa yang benar secara struktural dari setiap pendekatan.
| Poin | Lokal dengan Ollama | API Terhosting |
|---|---|---|
| Biaya awal | GPU Anda sendiri atau mesin dengan RAM yang cukup | Tidak ada; saldo prabayar mulai $20 |
| Biaya operasional | Listrik dan waktu Anda | $0,15 per 1M token input, $0,50 per 1M token output |
| Ukuran model | Dibatasi oleh memori Anda | Satu model yang dipilih oleh penyedia |
| Bekerja secara offline | Ya | Tidak, membutuhkan internet |
| Data meninggalkan mesin Anda | Tidak | Ya, prompt dikirim ke penyedia; milik kami tidak digunakan untuk pelatihan |
| Pilihan model | Apa pun yang dapat Anda unduh | Hanya yang ditawarkan |
| Pengguna bersamaan | Dibatasi oleh perangkat keras Anda | Hingga 8 permintaan paralel pada kunci penuh |
| Pengaturan | Instal, tarik, atur pengaturan | Ubah URL dasar dan kunci |
Lokal menang dalam privasi, penggunaan offline, dan kebebasan pilihan. Jika teks Anda tidak pernah boleh keluar dari mesin Anda, atau Anda ingin menukar model setiap minggu, jalankan secara lokal. API yang di-host menang dalam waktu pengaturan, tidak mengikat GPU Anda saat Anda bekerja, dan melayani aplikasi dengan beberapa pengguna sekaligus.
Juga adil untuk mengatakan apa yang tidak kami tawarkan. Layanan ini hanya endpoint yang di-host. Tidak ada file model untuk diunduh, tidak ada penyesuaian halus dan tidak ada cara untuk membawa bobot Anda sendiri. Jika Anda ingin memiliki model, Ollama adalah alat yang tepat, dan panduan API LLM sumber terbuka kami membahas serangkaian opsi yang lebih luas.
Biaya yang di-host, dihitung
Orang sering mengasumsikan model yang di-hosting mahal dibandingkan dengan menjalankan lokal secara gratis. Lokal tidak gratis jika Anda menghitung perangkat keras, tetapi perbandingannya lebih mudah dengan penggunaan konkret. Harga di sini adalah $0.15 per 1M token input dan $0.50 per 1M token output.
- Roleplay santai, 100 pesan sehari. Katakan setiap giliran mengirim 3.000 token riwayat dan mendapatkan kembali 300 token. Input per giliran: 3.000 pada $0.15 per 1M adalah $0.00045. Output: 300 pada $0.50 per 1M adalah $0.00015. Itu adalah $0.0006 per giliran, $0.06 untuk 100 giliran, sekitar $1.80 selama 30 hari.
- Proyek penulisan. 5M token input dan 1M token output dalam sebulan adalah $0,75 ditambah $0,50, jadi $1,25.
- Aplikasi kecil. 200M input dan 40M token output per bulan adalah $30 ditambah $20, jadi $50.
Hanya Anda yang dapat menilai harga GPU Anda sendiri, tetapi penggunaan ringan dan sedang membutuhkan biaya sangat sedikit yang di-host. Top-up minimum $20 mencakup waktu yang lama pada dua tingkat pertama, dan saldo tidak pernah kedaluwarsa, sehingga tidak akan hilang jika Anda mengambil cuti sebulan. Top-up yang lebih besar membawa bonus: 5% dari $50, 10% dari $100, 15% dari $200. Detail lengkap ada di halaman harga.
Cara yang masuk akal untuk menggabungkan keduanya
Anda tidak harus memilih sekali. Banyak orang menjalankan model lokal kecil untuk draf cepat dan catatan pribadi, dan mengirim tugas yang lebih panjang atau lebih menuntut ke endpoint yang di-hosting. Karena keduanya menggunakan format OpenAI, aplikasi Anda dapat memegang dua objek klien dan merutekan berdasarkan tugas, seperti dalam kode di atas.
Saat Anda menguji sisi yang di-host, pengguna baru dapat mengklaim $0,50 kredit uji coba dengan satu klik di halaman kunci API, tanpa kartu, satu per orang, berlaku selama 7 hari. Dengan angka per giliran di atas, itu adalah ratusan giliran roleplay, cukup untuk membandingkan dengan model lokal terbaik Anda dengan prompt yang identik. Anda dapat membuat kunci API setelah masuk dengan Google atau dengan email dan kata sandi. Dokumentasi API mencantumkan parameter seperti temperature, top_p, stop dan seed, yang diteruskan, sehingga pengaturan sampling lokal Anda tetap berlaku.
Beberapa batas yang perlu Anda rencanakan. Kunci uji coba memungkinkan 2 permintaan paralel dan 60 permintaan per menit; kunci penuh memungkinkan 8 dan 300. Jendela konteks adalah 100.000 token, jauh lebih besar daripada yang dijalankan dengan nyaman oleh sebagian besar pengaturan lokal. Dan satu aturan yang tidak diubah oleh pengaturan apa pun: model ini untuk penggunaan dewasa yang sah dan tidak akan menghasilkan konten seksual yang melibatkan anak di bawah umur.
