Yang paling tidak masuk akal adalah: saya tidak memiliki latar belakang pembelajaran mesin, tidak tahu prosedur standard pelatihan model, dan tidak memahami banyak butiran teknikal. Apa yang saya lakukan pada dasarnya hanyalah terus memberi Sol permintaan dan umpan balik hasil, membiarkannya mencari masalah sendiri, mereka eksperimen, dan berterusan mengiterasi.Penulis artikel: Anshu
Artikel diterjemahkan, sumber: ME News
Ini adalah pertama kalinya saya benar-benar merasa “AGI sepertinya sudah tiba”.
Saya melatih model koreksi automatik sendiri menggunakan GPT-5.6 Sol. Akhirnya, model tempatan yang hanya mempunyai 1.7 bilion parameter ini menunjukkan prestasi sedikit melebihi GPT-5.6 Sol pada set ujian.
Yang paling tidak masuk akal adalah: saya tidak memiliki latar belakang pembelajaran mesin, tidak tahu prosedur standard pelatihan model, dan tidak memahami banyak butiran teknikal. Apa yang saya lakukan pada dasarnya hanyalah terus memberi Sol permintaan dan umpan balik hasil, membiarkannya mencari masalah sendiri, mereka eksperimen, dan berterusan mengiterasi.
Proses ini tidak memerlukan sebarang kos.
Semuanya bermula daripada masalah “taip” yang semakin serius
Selepas berdialog dengan AI dalam jangka panjang, saya mendapati kemampuan menaip saya menjadi semakin lemah.
Saya telah terbiasa menaip dengan pantas dan tidak lagi memeriksa dengan teliti mengenai ejaan, urutan huruf, atau huruf yang tertinggal. Alih-alih melatih semula kemampuan menaip saya, saya memutuskan untuk mengambil penyelesaian yang lebih sesuai dengan era AI: terus menggunakan lebih banyak AI untuk menyelesaikan masalah.
Pembaikan automatik tradisional akan terus mengubah teks semasa penginputan, yang boleh mengganggu aliran fikiran. Cadangan saya ialah membenarkan pengguna memasukkan teks dengan pantas tanpa gangguan, walaupun penuh dengan kesalahan, dan kemudian membiarkan AI membersihkannya secara serentak selepas penginputan selesai.
Sementara itu, saya ingin model ini sekecil mungkin.
Model yang lebih kecil akan berjalan lebih pantas, mengurangkan penggunaan tenaga, dan lebih sesuai untuk dijalankan sepenuhnya secara tempatan. Sama ada untuk kecekapan, jangka hayat bateri, atau semata-mata kerana minat eksperimen, saya ingin melihat: sejauh mana model tempatan yang cukup kecil boleh melakukan pengesahan automatik.
Saya memutuskan untuk melatih sendiri.
Jadikan Sol sebagai penyelidik yang menjalankan eksperimen secara automatik
Inspired by Andrej Karpathy's "autoresearch" experiment.
I used Codex's /goal mode to design a circular workflow for Sol:
Pilih satu eksperimen, jalankan eksperimen, dan catat hasilnya ke dalam dokumen; jika gagal, tinggalkan jalan ini; kemudian rancang eksperimen seterusnya, sambil mengelakkan mengulangi kesilapan yang telah disahkan.
Saya hanya menyediakan beberapa contoh input yang mesti diluluskan, sasaran latensi yang ketat, serta kesan akhir yang diinginkan, kemudian membiarkan Sol berjalan sendiri.
Perkara yang berlaku seterusnya melebihi jangkaan saya.
Sol terlebih dahulu mencari dan membandingkan beberapa model asas calon, termasuk Qwen 3.5, Gemma 4, dan Liquid LFM 2.5. Selepas itu, ia juga menemui set data yang berkaitan dengan teks taipan sebenar di Hugging Face.
Tetapi data sebenar masih belum mencukupi.
Untuk menghasilkan kesalahan ejaan yang lebih mendekati input sebenar pengguna, Sol menulis simulator "jari mengetik di papan kekunci Mac". Ia mensimulasikan titik jatuh jari menggunakan taburan Gaussian berdasarkan susunan fizikal papan kekunci, dan menghasilkan pelbagai kesalahan biasa, seperti:
- Tekan butang bersebelahan;
- Huruf-huruf disusun secara songsang;
- Repeat input;
- Missing character;
- Jari menyentuh beberapa butang secara serentak.
Setelah memiliki model asas, data teks, dan simulator kesilapan papan kekunci, Sol secara langsung menyesuaikan model di MacBook saya menggunakan MLX.
Dalam masa kurang daripada satu jam, ia telah menghasilkan prototaip yang boleh berfungsi.
Masalahnya, ketepatan versi pertama tidak begitu baik.
Pintu pertama: Tokenizer tidak memahami kesalahan ejaan
Sol membaca kertas kajian yang berkaitan dan mereka satu siri ujian, dan akhirnya menyimpulkan: batasan utama model bukan pada data latihan, tetapi pada Tokenizer, iaitu pembahagi token.
Model bahasa besar biasanya tidak memahami teks secara per huruf, tetapi terlebih dahulu memecah teks menjadi Token. Kata-kata biasa boleh dipecahkan menjadi unit semantik yang stabil, tetapi kesalahan ejaan sering merosakkan struktur Token asal.
Ini bermaksud, kesalahan huruf yang jelas sekali bagi manusia mungkin menjadi satu set Token yang sama sekali asing dalam pandangan model.
Model sukar untuk benar-benar “memahami” kesilapan, hanya mampu mengingat secara mekanikal hubungan antara ejaan yang salah dan ejaan yang betul. Pendekatan ini tidak hanya mempunyai kemampuan generalisasi yang lemah, tetapi juga tidak dapat memanfaatkan sepenuhnya pengetahuan bahasa asal model.
Sol pertama kali mencuba ByT5 milik Google.
ByT5 ialah model yang tidak bergantung pada Tokenizer tradisional, tetapi memproses urutan byte secara langsung. Percubaan ini membawa peningkatan yang ketara, tetapi kerana ByT5 dikeluarkan pada masa yang lebih awal, model itu memiliki pengetahuan bahasa yang terhad, sehingga prestasi akhirnya masih tidak dapat mencapai tahap GPT-5.6 Sol.
Selepas menyelidik lebih lanjut, Sol menyedari bahawa masalah tersebut tidak semestinya perlu diselesaikan dengan "membatalkan Tokenizer sepenuhnya".
Ia sebaliknya memilih T5Gemma, sebuah model berarsitektur Encoder-Decoder.
Berbeza dengan model yang hanya meramal token seterusnya, model Encoder-Decoder boleh memahami input sepenuhnya melalui encoder, kemudian menghasilkan teks yang telah diperbaiki melalui decoder. Lebih penting lagi, Sol juga boleh melakukan latihan lanjutan terhadap encoder untuk memperbaiki keupayaan model dalam mengenal input yang mengandungi kesalahan ejaan.
Rute ini secara signifikan meningkatkan had prestasi model.
Penghalang kedua: Fungsi kerugian tradisional mendorong model "jangan ubah"
Selepas menukar arsitektur model, satu masalah baru telah muncul.
Model telah mampu memperbaiki sebahagian kesalahan dengan tepat, tetapi sering mengabaikan masalah ejaan jelas lainnya. Ia cenderung menyalin semula secara tepat walaupun terdapat kesalahan dalam input.
Sol akhirnya menemui bahawa masalah tersebut datang daripada fungsi kerugian entropi silang yang paling biasa.
Dalam data pembaikan automatik, kebanyakan aksara sudah betul, dan hanya sebahagian kecil yang benar-benar memerlukan pengubahsuaian. Jika dilatih secara langsung menggunakan cross-entropy biasa, strategi paling selamat model ialah “sebanyak mungkin jangan ubah”.
Kerana menyalin teks asal boleh memberikan jawapan yang betul di kebanyakan tempat, manakala mengubah secara aktif mungkin membawa kesilapan.
Dengan kata lain, matlamat latihan tradisional sedang memberi ganjaran kepada model untuk kekal tidak berubah.
Untuk menyelesaikan masalah ini, Sol menulis satu set fungsi kerugian tersuai.
Ia terlebih dahulu menyelaraskan teks asal dengan teks sasaran pada peringkat bait, kemudian menghitung laluan suntingan minimum antara dua teks menggunakan algoritma pengaturcaraan dinamik, mengenal pasti kedudukan mana yang merupakan salinan, dan mana yang merupakan penyisipan, penghapusan, atau penggantian sebenar.
Di atas dasar ini, Sol secara signifikan meningkatkan bobot latihan yang berkaitan dengan "pembaikan yang betul", sambil mengurangkan keuntungan daripada penyalinan karakter semata-mata.
Selepas beberapa penyesuaian parameter, ketepatan pemeriksaan ralat model telah meningkat secara ketara.
Penghalang ketiga: Apabila model salah langkah, ia tidak boleh berpaling kembali
Masalah utama terakhir datang dari mekanisme penghasilan autoregresif.
Model semasa menghasilkan teks hanya boleh meramal token seterusnya berdasarkan kandungan yang telah dihasilkan. Sekiranya terdapat kesilapan pada langkah sebelumnya, penghasilan seterusnya akan dibina atas hasil yang salah, dan model tidak dapat benar-benar kembali untuk memperbaiki.
Secara teori, model boleh dilatih untuk terlebih dahulu “berfikir” sebelum menjawab, seperti model penalaran, tetapi ini akan meningkatkan latensi secara besar-besaran dan tidak sesuai untuk skenario koreksi automatik yang memerlukan respons segera.
Sol akhirnya menemukan satu penyelesaian yang lebih elegan: Beam Search, atau carian balok.
Model tidak lagi memilih hanya satu laluan dengan kebarangkalian tertinggi pada setiap langkah, tetapi mengekalkan beberapa cabang penghasilan yang mungkin secara serentak, meneroka secara selari pelbagai hasil pembaikan ralat. Selepas penghujungan carian, laluan penuh dengan jumlah log kebarangkalian tertinggi akan dipilih.
Ini setara dengan menggantikan penalaran tunggal dengan pencarian selari.
Beam Search secara jelas meningkatkan kesan akhir, tetapi juga memperkenalkan satu masalah pengalaman: pengguna tidak melihat sebarang output sebelum pencarian selesai.
Sol kemudian membuat pemerhatian yang sangat bijak.
Selepas setiap pusingan carian, anda boleh membandingkan semua cabang yang kekal. Selagi cabang-cabang ini mempunyai awalan yang sama, "awalan umum terpanjang" ini pasti akan muncul dalam hasil akhir.
Oleh itu, sistem boleh menunjukkan kandungan ini kepada pengguna secara serta-merta.
Semasa carian berterusan, laluan yang lemah secara beransur-ansur dikeluarkan, dan awalan umum cabang yang tinggal juga menjadi semakin panjang. Akhirnya, pengguna tidak melihat hasil yang muncul secara tiba-tiba sekaligus, tetapi teks koreksi yang dihasilkan secara berterusan.
Sol telah menjadikan keseluruhan proses sebagai saluran inferen MLX yang disesuaikan, memanfaatkan GPU MacBook untuk dekod sejajar.
Akhirnya, latensi output token pertama hanya sekitar 40 milisaat, cukup pantas, dan keseluruhan proses dilakukan sepenuhnya secara tempatan.
Hasil akhir: Model 1.7 bilion parameter melepasi GPT-5.6 Sol
Penilaian akhir menggunakan "tingkat pengurangan kesalahan" sebagai indikator, di mana nilai yang lebih tinggi menunjukkan bahawa model memperbaiki lebih banyak kesalahan input.
Hasil ulasan adalah seperti berikut:
- Pembaikan automatik Apple: 49.66%
- GPT-5.6 Luna: 82.47%
- GPT-5.6 Terra: 87.64%
- GPT-5.6 Sol: 90.56%
- Model 1.7 bilion parameter yang kami latih: 91.02%
Model tempatan kecil ini akhirnya melebihi GPT-5.6 Sol dengan kelebihan yang sangat nipis.
Saya juga telah memeriksa secara khusus sama ada terdapat kebocoran data atau “kecurangan” model. Semasa pengujian, kami secara aktif mengeluarkan perkataan yang telah muncul dalam data latihan, untuk memastikan bahawa model bukan sekadar mengingat secara mekanikal hubungan antara kesilapan dan jawapan.
Kos akhir keseluruhan projek ialah:
Satu penyesuaian kuota model, dan perbelanjaan tunai 0 dolar.
Yang benar-benar membuat saya terkesan, bukan hanya skor akhir
Dalam proses projek, masih terdapat banyak eksperimen yang belum dijelaskan secara mendalam, termasuk arah yang berbeza seperti pembelajaran berbanding, GRPO, DPO, dan penyamaran dinamik.
Tidak semua percubaan berjaya, tetapi Sol mampu membaca bahan secara aktif, mengenal pasti masalah, mengemukakan hipotesis, mereka eksperimen, menganalisis keputusan, dan merancang percubaan seterusnya berdasarkan pengalaman kegagalan.
Bagi saya, yang benar-benar mengejutkan bukanlah fakta bahawa "model dengan 1.7 bilion parameter melepasi GPT-5.6 Sol".
Lebih penting lagi, seseorang tanpa latar belakang pembelajaran mesin sama sekali kini boleh menggunakan AI untuk melaksanakan proses eksperimen yang sebelumnya memerlukan pasukan penyelidik profesional.
Saya tidak menguasai semua pengetahuan dasar, dan tidak merancang jalan teknikal yang lengkap sebelumnya. Saya hanya mengetahui dengan jelas masalah apa yang ingin saya selesaikan, lalu terus mendorong Sol untuk mencari jawapannya.
Ia tidak hanya menulis kod, tetapi juga menjalani peranan penyelidik, jurutera, dan pereka eksperimen.
Ini mungkin saat pertama kali saya benar-benar “merasakan AGI”.
Jangan biarkan ketidaktahuan menghalangi anda untuk memulakan eksperimen.
Apabila AI mampu membantu orang biasa melintasi penghalang profesional, banyak projek teknologi yang dahulu kelihatan jauh tidak lagi terlalu jauh.
