Memperkenalkan AutoThink, yang Meningkatkan Kinerja LLM Lokal dengan Inferensi Adaptif
(news.ycombinator.com)- AutoThink dapat meningkatkan kinerja large language model (LLM) di lingkungan lokal dengan teknologi inferensi adaptif
- Proyek ini mendukung pemanfaatan LLM berperforma tinggi bahkan di lingkungan dengan sumber daya GPU yang terbatas
- Dibandingkan pengoperasian LLM konvensional, proyek ini menawarkan keunggulan dalam kecepatan dan kualitas respons
- Dibandingkan solusi LLM berbasis cloud seperti OpenAI API, proyek ini memungkinkan perlindungan privasi dan penghematan biaya
- Berguna bagi developer dan peneliti AI saat menerapkan dan bereksperimen dengan LLM milik sendiri
Pengenalan proyek open source AutoThink
AutoThink adalah framework inferensi adaptif yang dirancang untuk memaksimalkan kinerja large language model (LLM) yang berjalan di lingkungan lokal. Berikut adalah fitur utama dan keunggulan kompetitif proyek ini.
Mengapa AutoThink penting
- Sebagian besar solusi peningkatan LLM bergantung pada cloud eksternal seperti OpenAI API atau HuggingFace Spaces
- Layanan cloud LLM memiliki masalah paparan privasi, beban biaya, dan ketergantungan jaringan
- AutoThink membantu memastikan kualitas respons terbaik melalui struktur inferensi yang dioptimalkan, bahkan pada GPU atau PC berspesifikasi rendah
- Struktur adaptif menganalisis kondisi operasional dan tingkat kesulitan masalah secara real-time, lalu secara dinamis memilih jalur dan strategi inferensi yang paling sesuai
Fitur utama dan manfaat
- Penerapan inferensi multi-tahap: secara otomatis menerapkan beberapa tahap inferensi sesuai masalah input, sehingga meningkatkan kualitas jawaban untuk pertanyaan yang kompleks
- Penyetelan performa otomatis: menyesuaikan proses inferensi dan resource dengan kondisi seperti hardware, waktu, dan tingkat kesulitan yang tersedia
- Eksperimen cepat: disusun agar peneliti AI dan developer dapat menguji LLM dengan cepat di berbagai lingkungan infrastruktur
- Desain modular: mendukung pemisahan strategi inferensi dan engine LLM, sehingga mudah diintegrasikan dengan berbagai engine
Keunggulan dibanding proyek pesaing
- Selama ini, struktur inferensi tetap yang diasumsikan berjalan di cloud/perangkat keras skala besar adalah hal yang umum
- AutoThink menonjol dengan karakteristik ringan yang disesuaikan untuk lingkungan lokal, keseimbangan antara akurasi dan kecepatan, serta struktur adaptif
- Sangat unggul untuk melindungi data internal dan informasi sensitif
Contoh penggunaan
- Efektif untuk mengadopsi LLM internal di lingkungan dengan sumber daya GPU terbatas seperti startup kecil atau lembaga riset
- Dapat diterapkan dengan cepat pada eksperimen berulang dan siklus peningkatan fitur
Kesimpulan
AutoThink adalah open source inovatif yang menyediakan struktur optimasi inferensi yang ringan dan fleksibel, sehingga membantu developer dan ahli AI mengoperasikan model LLM mereka sendiri secara efektif di lingkungan lokal. Ini merupakan alternatif praktis yang dapat mengatasi biaya dan isu privasi pada solusi LLM berbasis cloud, serta meningkatkan kemampuan penerapan di pekerjaan nyata di berbagai lingkungan.
1 komentar
Komentar Hacker News
Saya menjelaskan bahwa motivasi AutoThink berawal dari melihat model reasoning yang ada memboroskan sumber daya komputasi—bahkan untuk pertanyaan sangat mudah seperti ‘berapa 2+2?’, model menghabiskan ‘waktu berpikir’ sebanyak saat mengerjakan pembuktian matematika yang rumit, dan inefisiensi itu terlihat jelas. Hal yang mengejutkan adalah ketika dua hal digabungkan—adaptive classification yang saya eksperimenkan secara terpisah (bisa mempelajari kategori baru tanpa retraining) dan Pivotal Token Search yang dirilis open-source dari paper Microsoft Phi-4—lalu ditambah alokasi anggaran token dinamis, peningkatan performanya jauh lebih besar dari perkiraan. Bahkan, jumlah token yang dipakai rata-rata justru berkurang, karena kueri sederhana benar-benar diselesaikan jauh lebih cepat dan komputasi tambahan hanya dialokasikan untuk kueri yang kompleks. Beberapa poin teknisnya: steering vector sangat kecil, kurang dari 1MB per pola, jadi overhead memorinya nyaris tidak ada; proses klasifikasi hanya menambah latensi sekitar 10ms (hampir bisa diabaikan); dan pemilihan target layer itu penting (pada sebagian besar model, layer tengah nomor 15~20 memberi hasil terbaik). Hal yang ingin saya dapatkan masukannya adalah—pengalaman mencoba pendekatan adaptif serupa, pola reasoning yang lebih berguna untuk di-steer, dan ide untuk mendeteksi target layer optimal secara otomatis. Kalau ada yang penasaran soal implementasi atau hasilnya, silakan tanya apa saja
Sekarang tidak selalu begitu. Sudah coba Gemini 2.5 Pro? Untuk pertanyaan sederhana, model itu hampir tidak ‘berpikir’, sedangkan untuk pertanyaan coding, jawabannya seperti artikel logika yang panjang. Sepertinya o3 juga begitu
Selamat! Semua upaya untuk meningkatkan efisiensi LLM sangat saya sambut. Sejauh ini saya mengoptimalkan secara malas dengan memakai model MLX di Mac Mini M4 hanya untuk kueri sederhana, lalu mengirim kueri rumit ke Nvidia 4090—efisiensi M4 benar-benar mengejutkan dibanding Nvidia. Saya rasa arah Apple dengan MLX itu benar. Saya akan membaca lebih jauh tentang AutoThink dan berencana mengintegrasikannya ke workflow pribadi saya juga
Menurut saya layak dicoba memasukkan ‘jawaban dari non-reasoning model’ setelah prompt pengguna—misalnya “Berikut adalah apa yang dipikirkan oleh non-reasoning model: ... Apakah ini hasil yang diinginkan pengguna?” Saat versi non-reasoning sudah cukup, mungkin ada keuntungan karena reasoning model juga bisa memberi jawaban lebih cepat
Bahkan Claude Sonnet 3.5 (bukan versi terbaru 3.7 atau 4 pun) menunjukkan perbedaan waktu pemrosesan yang jelas tergantung kompleksitas kueri—terlihat bahwa waktu pemrosesan memang disesuaikan secara dinamis
Saya penasaran bagaimana pertanyaan bisa diklasifikasikan menjadi ‘pertanyaan kompleks’ dan ‘pertanyaan sederhana’. Pertanyaan yang tampak sederhana pun sebenarnya bisa sangat sulit. Misalnya, solusi bilangan bulat untuk x³+y³+z³=42 adalah masalah yang menghabiskan lebih dari 100 tahun sumber daya komputasi. Atau persamaan seperti x/(y+z)+y/(z+x)+z/(x+y)=4, yang tampak sederhana di permukaan, ternyata punya solusi berukuran miliaran (sangat besar) yang memerlukan teori kurva eliptik. Lihat tautan solusi
Mengklasifikasikan tingkat kesulitan masalah itu sendiri adalah keterampilan terpisah—kemampuan yang bisa dipelajari terlepas dari penyelesaian sebenarnya. Misalnya, saat melihat persamaan di atas, kita harus langsung menyadari tiga kesulitan: domain bilangan bulat, 3 variabel, dan persamaan derajat 3. Begitu ketiga elemen ini digabung, tingkat kesulitannya melonjak tajam. Jika bilangan real atau kompleks, jumlah variabel lebih sedikit, atau derajatnya lebih rendah, masalahnya akan jauh lebih mudah. Tentu itu tidak berarti pasti sulit, tetapi bisa jadi merupakan masalah yang belum terselesaikan. Saya sendiri tidak punya kemampuan untuk benar-benar menyelesaikannya, tetapi saya sudah melatih intuisi tentang di mana harus mencari informasi, jadi saya bisa langsung merasa “ini sangat sulit”. Saya pikir LLM juga bisa mempelajari petunjuk seperti ini dan mengembangkan kemampuan mengklasifikasikan tingkat kesulitan masalah tanpa benar-benar menyelesaikannya (atau mungkin sudah mempelajarinya)
Dalam konteks ini, tingkat kesulitan kueri didefinisikan berdasarkan berapa banyak token yang dikonsumsi agar model menghasilkan jawaban benar pada dataset ground-truth (seperti GSM8k, dll.). Adaptive classifier dilatih pada dataset ini dan digunakan untuk klasifikasi pada tahap inferensi
Saat toggle
extended thinkingmuncul di Claude 3.7, saya juga membuat POC autothink yang mirip—bahkan namanya juga autothinkgithub.com/NiloCK/autothink
blog think-toggles-are-dumb
Versi saya memakai first pass di mana LLM memberi skor tingkat kesulitan kueri dari 0~100, lalu anggaran berpikir dialokasikan secara linear sesuai skor itu. Jelas lebih sederhana dibanding pekerjaan OP, tetapi saya sangat senang melihat hasil kuantitatif—hasil yang dibuat dengan baik!
Ini terasa seperti optimisasi yang sudah jelas, jadi saya heran perubahan seperti ini belum terjadi lebih cepat. Penjelasannya bagus dan implementasinya langsung, sangat mengesankan
Untuk model reasoning seperti QwQ atau Qwen 3, sejujurnya saya tidak banyak menghabiskan waktu untuk meningkatkan hasil, dan hanya mencoba membatasi keluaran reasoning token dengan berbagai prompt. Gemma 3 27B QAT memang bukan model reasoning, tetapi sangat baik dalam mengikuti instruksi saat dipakai dalam chain atau route LLM, sehingga bisa digunakan untuk pra-klasifikasi/optimisasi bahasa lalu dipakai untuk reasoning yang sebenarnya pada tahap berikutnya. Kita juga bisa menyisipkan jawaban antara di berbagai thinking tag. Dalam eksperimen model semacam ini, ‘token yang sedang berpikir’ didefinisikan terpisah dari kesimpulan, sebagai semua token yang menjadi batu loncatan dalam tahap penyelesaian masalah. Dari pengalaman saya, menginstruksikan model agar lebih dulu memakai token atau ekspresi tertentu umumnya memperbaiki hasil, dan cara AutoThink yang otomatis memakai token dengan performa terbaik pada dataset tampaknya bisa menjadi optimisasi yang lebih umum dan lebih efektif. Namun, jika pivot token dipakai terlalu banyak, ada risiko overfit hanya pada pertanyaan benchmark, jadi saya masih ingin melihat sejauh mana pendekatan ini bisa digeneralisasi. Secara pribadi, saya memandang pemilihan kata/token yang hati-hati sebagai optimisasi berbiaya rendah dengan efisiensi tinggi yang dapat sangat meningkatkan kualitas hasil, dan saya menaruh harapan pada kemampuan generalisasi AutoThink
Sangat keren bahwa berkat model kecil, tim kecil dan peneliti individu kini bisa dengan mudah membuktikan pendekatan atau eksperimen inovatif tanpa perlu iri pada lab AI besar yang sudah mapan. Semakin naik daya saing SML (Small Language Model), semakin luas hal-hal yang bisa diwujudkan on-device, jauh melampaui bayangan kita
Jika Anda meng-host model untuk orang lain, masuk akal untuk menghemat sumber daya komputasi pada pertanyaan yang sangat sederhana. Dalam kasus ini, mungkin ada kelemahan bahwa model menjadi kurang serius menangani pertanyaan yang tampak mudah, tetapi bukan saya yang menanggung biayanya. Sebaliknya, jika saya memakai model langsung di PC saya sendiri, setelah sudah berinvestasi besar pada GPU, saya justru ingin memanfaatkan sumber daya semaksimal mungkin—saya malah tidak ingin komputasi dikurangi bahkan untuk kueri sederhana
Ini bahan pemikiran yang bagus! Kami juga berencana mendiskusikan secara internal bagaimana dalam desain AI crawler, sistem harus secara fleksibel mengenali kapan perlu melempar lebih banyak kueri atau lebih sedikit kueri tergantung situs yang dikunjungi. Sebagai referensi, kami adalah samaritanscout.org, proyek mesin pencari yang mengumpulkan semua peluang relawan lokal dari berbagai situs nirlaba dalam satu tempat
Saya baru sangat belakangan masuk ke dunia LLM dan AI, tetapi saya merasa sangat tertarik dengan proyek ini. Gagasan bahwa AutoThink menyesuaikan upaya komputasi agar AI bisa ‘berpikir lebih cerdas’ sesuai tingkat kesulitan masalah terasa sangat intuitif—mirip prinsip manusia yang langsung menyelesaikan 2+2, lalu hanya benar-benar merenung untuk masalah sulit. Saya belum begitu paham elemen teknis seperti anggaran token atau steering vector, tetapi saya terpesona oleh pendekatan yang sekaligus membuat sistem lebih cepat dan lebih pintar. Saya akan terus mengikutinya
Saya rasa lebih baik tidak menggunakan istilah ‘berpikir’ atau ‘reasoning’ untuk LLM—keduanya punya makna tertentu dan latar filosofis tertentu, padahal dalam praktiknya LLM tidak benar-benar berpikir atau bernalar seperti itu, melainkan lebih mendekati mekanisme komputasi yang menghabiskan lebih banyak komputasi (waktu prosesor) untuk menghasilkan hasil
Kapal itu sudah berlayar. Dulu kata “computer” juga merujuk pada manusia penghitung, tetapi sekarang maknanya sudah sepenuhnya berpindah ke mesin; di sini pun istilahnya telah bergeser
Dianalogikan dengan “ping”—saat kita melakukan ‘ping’ ke alamat IP, kita tentu tidak benar-benar menembakkan gelombang suara ke lambung logam, tetapi istilah itu dipakai secara metaforis sesuai perilaku nyatanya. Jika suatu metafora berguna, orang akan memakainya sehari-hari meski tidak cocok 1:1 dengan realitas
Pandangan dunia saya pada prinsipnya materialistis dan deterministis. Meski begitu, dalam keseharian saya juga menambahkan eksistensialisme dan sedikit sensibilitas spiritual. Dari sudut pandang praktis, jika kita sementara memberi sifat antropomorfik pada alat seperti ini, alur percakapan menjadi lebih mudah dan alat itu lebih intuitif dipahami. Metode ini kadang menunjukkan keterbatasannya, tetapi ketika itu terjadi, saya rasa kita bisa dengan mudah beralih ke kerangka yang lebih analitis