Yang paling tidak masuk akal adalah: saya tidak memiliki latar belakang pembelajaran mesin, tidak tahu prosedur standar pelatihan model, dan tidak memahami banyak detail teknis. Yang saya lakukan pada dasarnya hanyalah terus memberikan permintaan dan umpan balik kepada Sol, membiarkannya menemukan masalah sendiri, merancang eksperimen, dan terus beriterasi.Penulis artikel: Anshu
Artikel diterjemahkan, sumber: ME News
Ini adalah pertama kalinya saya benar-benar merasa bahwa AGI sepertinya sudah datang.
Saya melatih model koreksi otomatis milik saya sendiri menggunakan GPT-5.6 Sol. Akhirnya, model lokal dengan hanya 1,7 miliar parameter ini menunjukkan kinerja sedikit lebih baik daripada GPT-5.6 Sol pada dataset pengujian.
Yang paling tidak masuk akal adalah: saya tidak memiliki latar belakang pembelajaran mesin, tidak tahu prosedur standar pelatihan model, dan tidak memahami banyak detail teknis. Yang saya lakukan pada dasarnya hanyalah terus memberikan permintaan dan umpan balik kepada Sol, membiarkannya menemukan masalah sendiri, merancang eksperimen, dan terus beriterasi.
Biaya seluruh proses adalah nol.
Semuanya bermula dari masalah "ketik" yang semakin serius
Setelah berdialog panjang dengan AI, saya menyadari kemampuan mengetik saya semakin menurun.
Saya sudah terbiasa mengetik cepat dan tidak lagi memeriksa dengan serius kesalahan ejaan, urutan huruf, atau huruf yang terlewat. Alih-alih melatih ulang kemampuan mengetik saya, saya memutuskan untuk mengadopsi solusi yang lebih sesuai dengan era AI: terus menggunakan lebih banyak AI untuk memecahkan masalah.
Koreksi otomatis tradisional terus-menerus mengubah teks selama proses input, yang justru mudah mengganggu alur pemikiran. Gagasan saya adalah membiarkan pengguna memasukkan teks dengan cepat tanpa gangguan, meskipun penuh kesalahan, lalu membiarkan AI membersihkannya secara terpusat setelah input selesai.
Meanwhile, I want this model to be as small as possible.
Semakin kecil model, semakin cepat kecepatan jalannya, semakin rendah konsumsi dayanya, dan semakin cocok untuk dijalankan sepenuhnya secara lokal. Baik demi efisiensi, masa pakai baterai, atau sekadar rasa ingin tahu eksperimen, saya ingin melihat: sejauh mana model lokal yang cukup kecil dapat melakukan koreksi otomatis.
Jadi, saya memutuskan untuk melatih sendiri.
Jadikan Sol sebagai peneliti otomatis yang melakukan eksperimen
Inspired by Andrej Karpathy's "autoresearch" experiment.
I used Codex's /goal mode to design a circular workflow for Sol:
Pilih sebuah eksperimen, jalankan eksperimen, dan catat hasilnya ke dalam dokumen; jika gagal, tinggalkan jalur ini; kemudian rencanakan eksperimen berikutnya, sambil menghindari pengulangan kesalahan yang telah diverifikasi.
Saya hanya memberikan beberapa contoh input yang harus dilewati, target latensi yang ketat, serta efek akhir yang diinginkan, lalu membiarkan Sol berjalan sendiri.
Apa yang terjadi selanjutnya melebihi harapan saya.
Sol terlebih dahulu mencari dan membandingkan beberapa model dasar kandidat, termasuk Qwen 3.5, Gemma 4, dan Liquid LFM 2.5. Selanjutnya, ia menemukan seperangkat dataset yang terkait dengan teks ketikan nyata di Hugging Face.
Tetapi data sebenarnya masih belum cukup.
Untuk menghasilkan kesalahan ketik yang lebih mendekati input aktual pengguna, Sol menulis simulator "jari mengetik di keyboard Mac". Simulator ini menggunakan distribusi Gaussian untuk mensimulasikan titik jatuhnya jari berdasarkan tata letak fisik keyboard, dan menghasilkan berbagai kesalahan umum, seperti:
- Tekan tombol yang berdekatan;
- Huruf-hurufnya terbalik;
- Repeat input;
- Missing character;
- Jari menyentuh beberapa tombol sekaligus.
Setelah memiliki model dasar, data teks, dan simulator kesalahan papan ketik, Sol secara langsung melakukan fine-tuning di MacBook saya menggunakan MLX.
Dalam waktu kurang dari satu jam, ia membuat prototipe yang bisa dijalankan.
Masalahnya, akurasi versi pertama tidak ideal.
Bottleneck pertama: Tokenizer tidak memahami kesalahan ejaan
Sol membaca makalah terkait dan merancang serangkaian pengujian, dan akhirnya menyimpulkan: bottleneck utama model bukan pada data pelatihan, tetapi pada Tokenizer, yaitu tokenizer.
Model bahasa besar biasanya tidak memahami teks huruf per huruf, tetapi terlebih dahulu membagi teks menjadi Token. Kata-kata normal dapat dipecah menjadi unit semantik yang stabil, tetapi kesalahan ejaan sering kali merusak struktur Token aslinya.
Ini berarti, kesalahan huruf yang sangat jelas bagi manusia mungkin di mata model berubah menjadi sekumpulan Token yang sama sekali asing.
Model sulit benar-benar "memahami" kesalahan, hanya mampu mengingat secara mekanis hubungan pemetaan antara ejaan salah dan ejaan benar. Pendekatan ini tidak hanya memiliki kemampuan generalisasi yang buruk, tetapi juga tidak dapat memanfaatkan sepenuhnya pengetahuan bahasa yang sudah dimiliki model.
Sol pertama kali mencoba ByT5 dari Google.
ByT5 adalah model yang tidak bergantung pada Tokenizer tradisional, tetapi langsung memproses urutan byte. Upaya ini membawa peningkatan yang signifikan, tetapi karena ByT5 dirilis lebih awal dan model tersebut memiliki pengetahuan bahasa yang terbatas, kinerja akhirnya masih tidak dapat mencapai tingkat GPT-5.6 Sol.
Setelah melakukan penelitian lebih lanjut, Sol menyadari bahwa masalah tersebut tidak selalu perlu diselesaikan dengan "membatalkan Tokenizer sepenuhnya".
Ia justru memilih T5Gemma, sebuah model arsitektur Encoder-Decoder.
Berbeda dengan model yang hanya memprediksi token berikutnya, model Encoder-Decoder dapat terlebih dahulu memahami input secara menyeluruh melalui encoder, lalu menghasilkan teks yang telah diperbaiki melalui decoder. Lebih penting lagi, Sol juga dapat melakukan pelatihan lanjutan pada encoder agar model lebih mampu mengenali input yang mengandung kesalahan ejaan.
Rute ini secara signifikan meningkatkan batas atas kinerja model.
Bottleneck kedua: Fungsi kerugian tradisional mendorong model untuk "tidak mengubah"
Setelah mengganti arsitektur model, muncul masalah baru.
Model telah mampu memperbaiki sebagian kesalahan secara akurat, tetapi sering mengabaikan masalah ejaan jelas lainnya. Bahkan ketika ada kesalahan dalam input, ia cenderung menyalinnya persis seperti aslinya.
Sol akhirnya menemukan bahwa masalahnya berasal dari fungsi kerugian entropi silang yang paling umum.
Dalam data koreksi otomatis, sebagian besar karakter sebenarnya sudah benar, dan hanya sebagian kecil yang memerlukan perubahan. Jika dilatih langsung menggunakan cross-entropy standar, strategi paling aman bagi model adalah "sebisa mungkin jangan mengubah".
Karena menyalin teks asli dapat memberikan jawaban yang benar di sebagian besar lokasi, sedangkan perubahan aktif justru dapat menyebabkan kesalahan.
Dengan kata lain, tujuan pelatihan tradisional sedang memberi penghargaan kepada model untuk tetap tidak berubah.
Untuk menyelesaikan masalah ini, Sol menulis serangkaian fungsi kerugian khusus.
Ia terlebih dahulu menyelaraskan teks asli dengan teks tujuan pada tingkat byte, lalu menghitung jalur suntingan minimum antara dua teks tersebut melalui algoritma pemrograman dinamis, mengidentifikasi posisi mana yang merupakan salinan, dan mana yang merupakan penyisipan, penghapusan, atau penggantian sejati.
Dengan dasar ini, Sol secara signifikan meningkatkan bobot pelatihan yang sesuai dengan "perbaikan yang benar", sekaligus mengurangi keuntungan dari sekadar menyalin karakter.
Setelah beberapa putaran penyesuaian parameter, akurasi koreksi kesalahan model meningkat secara signifikan.
Bottleneck ketiga: Setelah model salah, tidak bisa kembali
Masalah utama terakhir berasal dari mekanisme generasi autoregresif.
Model saat menghasilkan teks hanya dapat memprediksi Token berikutnya berdasarkan konten yang sudah dihasilkan. Jika terjadi kesalahan pada langkah sebelumnya, generasi selanjutnya akan dibangun di atas hasil yang salah, dan model tidak dapat benar-benar kembali untuk memperbaiki.
Secara teoritis, model dapat dilatih untuk terlebih dahulu "berpikir" sebelum menjawab, seperti model penalaran, tetapi ini akan secara signifikan meningkatkan latensi dan tidak cocok untuk skenario koreksi otomatis yang memerlukan respons instan.
Sol akhirnya menemukan solusi yang lebih elegan: Beam Search, atau pencarian balok.
Model tidak lagi memilih hanya satu jalur dengan probabilitas tertinggi pada setiap langkah, tetapi secara bersamaan mempertahankan beberapa cabang generasi yang mungkin, mengeksplorasi secara paralel berbagai hasil koreksi. Setelah pencarian selesai, jalur lengkap dengan probabilitas logaritmik kumulatif tertinggi dipilih.
Ini setara dengan mengganti inferensi tunggal dengan pencarian paralel.
Beam Search jelas meningkatkan hasil akhir, tetapi juga memperkenalkan masalah pengalaman: pengguna tidak melihat output apa pun sampai seluruh pencarian selesai.
Sol kemudian membuat pengamatan yang sangat cerdas.
Setelah setiap putaran pencarian, Anda dapat membandingkan semua cabang yang tetap dipertahankan. Selama cabang-cabang tersebut memiliki awalan yang sama, maka "awalan umum terpanjang" ini pasti akan muncul dalam hasil akhir.
Oleh karena itu, sistem dapat langsung menampilkan konten ini kepada pengguna.
Saat pencarian terus berlangsung, jalur yang lebih lemah secara bertahap dihilangkan, dan awalan umum dari cabang yang tersisa juga menjadi semakin panjang. Pada akhirnya, pengguna tidak melihat hasil yang muncul sekaligus, melainkan teks koreksi yang terus dihasilkan secara berkelanjutan.
Sol membuat seluruh proses menjadi jalur inferensi MLX khusus, memanfaatkan GPU MacBook untuk decoding paralel.
Akhirnya, latensi output token pertama hanya sekitar 40 milidetik, cukup cepat, dan seluruh proses dilakukan sepenuhnya secara lokal.
Hasil akhir: Model 1,7 miliar parameter melampaui GPT-5.6 Sol
Evaluasi akhir menggunakan "tingkat pengurangan kesalahan" sebagai indikator, semakin tinggi nilainya, semakin banyak kesalahan input yang diperbaiki oleh model.
Hasil ulasan sebagai berikut:
- Apple otomatis memperbaiki kesalahan: 49,66%
- GPT-5.6 Luna: 82.47%
- GPT-5.6 Terra: 87,64%
- GPT-5.6 Sol: 90,56%
- Model 1,7 miliar parameter yang kami latih: 91,02%
Model lokal kecil ini akhirnya unggul sangat tipis atas GPT-5.6 Sol.
Saya juga secara khusus memeriksa apakah ada kebocoran data atau "kecurangan" model. Selama pengujian, kami secara aktif mengecualikan kata-kata yang muncul dalam data pelatihan, untuk memverifikasi bahwa model tidak hanya menghafal secara mekanis pemetaan antara kesalahan dan jawaban.
Biaya akhir seluruh proyek adalah:
Satu kali reset kuota model, serta pengeluaran tunai 0 dolar.
Yang benar-benar membuat saya terkesan, bukan hanya skor akhir
Selama proses proyek, masih banyak eksperimen yang belum dikembangkan, termasuk berbagai arah seperti contrastive learning, GRPO, DPO, dan dynamic masking.
Tidak semua upaya berhasil, tetapi Sol mampu secara aktif membaca materi, mengidentifikasi masalah, merumuskan hipotesis, merancang eksperimen, menganalisis hasil, dan merencanakan upaya berikutnya berdasarkan pengalaman kegagalan.
Bagi saya, yang benar-benar mengejutkan bukanlah fakta bahwa "model dengan 1,7 miliar parameter melebihi GPT-5.6 Sol".
Lebih penting lagi, seseorang tanpa latar belakang pembelajaran mesin sama sekali kini dapat menggunakan AI untuk menyelesaikan proses eksperimen yang sebelumnya memerlukan tim peneliti profesional.
Saya tidak menguasai semua pengetahuan dasar, juga tidak merancang rute teknis yang lengkap sebelumnya. Saya hanya jelas tentang masalah apa yang ingin saya selesaikan, lalu terus mendorong Sol untuk terus mencari jawabannya.
It not only writes code but also takes on the roles of researcher, engineer, and experimental designer.
Ini mungkin saat pertama kali saya benar-benar "merasakan AGI".
Jangan biarkan kurangnya pengalaman menghentikanmu untuk mulai bereksperimen.
Ketika AI dapat membantu orang biasa melewati ambang profesional, banyak proyek teknologi yang dulu tampak tak terjangkau mungkin sudah tidak lagi jauh.
