Andrej Karpathy baru saja menjatuhkan salah satu repositori paling "tidak terkendali" yang pernah dia tulis — NanoChat. Ini adalah sistem seperti ChatGPT dari awal, minimal namun lengkap yang mengajarkan Anda cara melatih dan menjalankan LLM Anda sendiri dengan harga di bawah $100. Dengan hanya ~8 ribu baris kode bersih, ini mencakup semuanya, tokenizer (berbasis Rust), pra-pelatihan di FineWeb, mid-train di SmolTalk, SFT di MMLU / GSM8K / HumanEval, RL opsional melalui GRPO, inferensi efisien dengan cache KV + prefill/decode, dan WebUI bergaya ChatGPT. (1/n)
Bersemangat untuk merilis repo baru: nanochat! (ini adalah salah satu yang paling tidak terkendali yang pernah saya tulis). Tidak seperti nanoGPT repo serupa saya sebelumnya yang hanya mencakup prapelatihan, nanochat adalah alur pelatihan/inferensi full-stack minimal, dari awal, dari klon ChatGPT sederhana dalam satu basis kode minimal dependensi. Anda mem-boot kotak GPU cloud, menjalankan satu skrip dan hanya dalam 4 jam kemudian Anda dapat berbicara dengan LLM Anda sendiri di UI web seperti ChatGPT. Beratnya ~8.000 baris kode imo yang cukup bersih untuk: - Melatih tokenizer menggunakan implementasi Rust baru - Pralatih LLM Transformer di FineWeb, evaluasi skor CORE di sejumlah metrik - Midtrain pada percakapan asisten pengguna dari SmolTalk, pertanyaan pilihan ganda, penggunaan alat. - SFT, mengevaluasi model obrolan tentang pilihan ganda pengetahuan dunia (ARC-E/C, MMLU), matematika (GSM8K), kode (HumanEval) - RL model opsional pada GSM8K dengan "GRPO" - Inferensi model yang efisien di Engine dengan cache KV, pra-pengisian/dekode sederhana, penggunaan alat (penerjemah Python dalam kotak pasir ringan), bicarakan melalui CLI atau WebUI seperti ChatGPT. - Tulis satu rapor penurunan harga, ringkas dan gamifikasi semuanya. Bahkan dengan biaya serendah ~$100 (~4 jam pada node 8XH100), Anda dapat melatih sedikit klon ChatGPT yang dapat Anda ajak bicara, dan yang dapat menulis cerita/puisi, menjawab pertanyaan sederhana. Sekitar ~12 jam melampaui metrik GPT-2 CORE. Saat Anda semakin meningkat menuju ~$1000 (~41,6 jam pelatihan), dengan cepat menjadi jauh lebih koheren dan dapat memecahkan masalah matematika/kode sederhana dan mengikuti tes pilihan ganda. Misalnya model depth 30 yang dilatih selama 24 jam (ini hampir sama dengan FLOP GPT-3 Small 125M dan 1/1000th GPT-3) menjadi 40-an di MMLU dan 70-an di ARC-Easy, 20-an di GSM8K, dll. Tujuan saya adalah untuk mendapatkan tumpukan "baseline yang kuat" penuh menjadi satu repo yang kohesif, minimal, dapat dibaca, dapat diretas, dan dapat dicabang secara maksimal. nanochat akan menjadi proyek batu penjuru LLM101n (yang masih dikembangkan). Saya pikir itu juga memiliki potensi untuk tumbuh menjadi harness penelitian, atau tolok ukur, mirip dengan nanoGPT sebelumnya. Ini sama sekali belum selesai, disetel, atau dioptimalkan (sebenarnya saya pikir kemungkinan ada sedikit buah yang menggantung rendah), tetapi saya pikir itu di tempat di mana kerangka keseluruhan cukup baik sehingga dapat naik di GitHub di mana semua bagiannya dapat ditingkatkan. Tautan ke repositori dan panduan terperinci dari nanochat speedrun ada di balasan.
Anda dapat memutar GPU, menjalankan skrip, dan memiliki chatbot Anda sendiri mengobrol dalam ~4 jam. Karpathy mengatakan model $ 100 sudah dapat menulis puisi & cerita dan melampaui GPT-2 di CORE; $1000 membawanya mendekati GPT-3 Kecil 125M FLOP dengan skor 40 + MMLU dan 70 + ARC-Easy. Tujuannya adalah repositori yang terpadu, dapat dibaca, dan dapat diretas yang menggabungkan "jalur dasar yang kuat" penuh: penerus nanoGPT dan tulang punggung untuk kursus LLM101n yang akan datang.
Bahkan dengan anggaran yang kecil, hasilnya mengejutkan. • $100 run (8×H100, 4 jam): mengalahkan GPT-2 di CORE, dapat menulis puisi & cerita pendek. • Lari $1000 (≈24 jam, GPT-3 FLOP Kecil 125 M, skala 1/1000): – MMLU 40 + – ARC-Mudah 70 + - GSM8K 20 + Ini adalah pipa mini kelas penelitian asli.
Ketika seseorang bertanya apakah NanoChat dapat digunakan untuk melatih LLM pribadi (pada catatan Notion, data kesehatan, dll.), Karpathy menuangkan air dingin pada ide tersebut: "Ini bukan repo yang bagus untuk itu ... Pikirkan model mikro ini sebagai anak-anak yang sangat muda; mereka tidak memiliki kecerdasan mentah dari sepupu mereka yang lebih besar." Jika Anda menyempurnakannya pada data pribadi, Anda mungkin mendapatkan "burung beo lucu" yang meniru gaya penulisan Anda, tetapi itu akan tetap miring. 🪿
Mengapa personalisasi itu sulit Untuk membuat model yang benar-benar dipersonalisasi, Anda harus: • Siapkan data dasar berkualitas tinggi • Menghasilkan banyak data sintetis (kompleks + beragam) • Finetune pada LLM terbuka yang kuat (misalnya Tinker) • Mungkin mencampur data pra-pelatihan yang besar untuk mempertahankan kecerdasan umum Itu masih merupakan wilayah tingkat penelitian hari ini, bukan proyek akhir pekan.
Gambaran yang lebih besar Karpathy melihat NanoChat sebagai nanoGPT baru— kerangka kerja minimal namun lengkap yang dapat tumbuh menjadi dasar standar untuk penelitian LLM, kolaborasi masyarakat, dan pendidikan. Saat ini belum sepenuhnya dioptimalkan, tetapi arsitekturnya solid—siap bagi kontributor GitHub untuk mendorongnya ke depan, modul demi modul.
Tampilkan Versi Asli
4,62 rb
15
Konten pada halaman ini disediakan oleh pihak ketiga. Kecuali dinyatakan lain, OKX bukanlah penulis artikel yang dikutip dan tidak mengklaim hak cipta atas materi tersebut. Konten ini disediakan hanya untuk tujuan informasi dan tidak mewakili pandangan OKX. Konten ini tidak dimaksudkan sebagai dukungan dalam bentuk apa pun dan tidak dapat dianggap sebagai nasihat investasi atau ajakan untuk membeli atau menjual aset digital. Sejauh AI generatif digunakan untuk menyediakan ringkasan atau informasi lainnya, konten yang dihasilkan AI mungkin tidak akurat atau tidak konsisten. Silakan baca artikel yang terkait untuk informasi lebih lanjut. OKX tidak bertanggung jawab atas konten yang dihosting di situs pihak ketiga. Kepemilikan aset digital, termasuk stablecoin dan NFT, melibatkan risiko tinggi dan dapat berfluktuasi secara signifikan. Anda perlu mempertimbangkan dengan hati-hati apakah trading atau menyimpan aset digital sesuai untuk Anda dengan mempertimbangkan kondisi keuangan Anda.