3 poin oleh GN⁺ 2025-07-30 | 1 komentar | Bagikan ke WhatsApp
  • Dengan MacBook Pro M2 berusia 2,5 tahun, kode game Space Invaders berhasil dibuat sekaligus menggunakan model GLM-4.5 Air 3bit
  • Model ini adalah model open weight terbaru yang dirilis oleh Z.ai dari Tiongkok dengan lisensi MIT, dan menunjukkan performa unggul pada benchmark coding
  • Berkat versi quantized 44GB 3bit, model ini dapat dijalankan bahkan pada PC dengan RAM 64GB
  • Dengan memakai library ml-explore/mlx-lm pada commit terbaru, model dijalankan secara lokal dan memberikan pengalaman kecepatan yang cukup tinggi serta operasi yang stabil
  • Model bahasa besar lokal yang dioptimalkan untuk coding yang baru dirilis belakangan ini menunjukkan kemampuan generasi kode yang sangat tinggi dan berkembang dengan cepat

Pengalaman menghasilkan JavaScript Space Invaders dengan GLM-4.5 Air dan MLX

29 Juli 2025

Keluarga model GLM-4.5 yang diperkenalkan kemarin adalah model open weight terbaru berperforma tinggi yang dirilis oleh Z.ai dari Tiongkok dengan lisensi MIT
Pada benchmark coding, model ini dinilai menunjukkan performa tinggi bahkan bila dibandingkan dengan model yang sudah ada seperti Claude Sonnet 4

Bahkan model GLM-4.5 Air yang paling kecil pun memiliki total 106 miliar parameter dan ukuran sekitar 206GB
Ivan Fioravanti merilis versi yang dikuantisasi menjadi 44GB dalam 3bit agar bisa dijalankan di MLX, sehingga dapat digunakan juga pada laptop dengan memori 64GB
Dari hasil mencoba langsung, bahkan model kecil ini pun menunjukkan performa yang sangat kuat

Prompt masukan:

Memasukkan prompt yang meminta dibuatkan halaman yang mengimplementasikan Space Invaders dengan HTML dan JavaScript

Model membutuhkan sedikit waktu untuk menghasilkan respons, dan hasil ini berhasil dibuat
Meski ini contoh yang sederhana, tetap mengesankan bahwa laptop berusia 2,5 tahun (MacBook Pro M2 64GB) dapat langsung menghasilkan kode matang yang berjalan pada percobaan pertama

Cara menjalankan model

from mlx_lm import load, generate
model, tokenizer = load("mlx-community/GLM-4.5-Air-3bit")
  • Bobot model berukuran 44GB disimpan di folder ~/.cache/huggingface/hub/models--mlx-community--GLM-4.5-Air-3bit

  • Lalu masukkan prompt seperti berikut untuk menjalankan proses generasi

prompt = "Write an HTML and JavaScript page implementing space invaders"
messages = [{"role": "user", "content": prompt}]
prompt = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True
)
response = generate(
    model, tokenizer,
    prompt=prompt,
    verbose=True,
    max_tokens=8192
)
  • Dalam proses generasi, model terlebih dahulu merangkum kebutuhan masalah serta informasi desain game untuk ditampilkan
  • Setelah itu, model menghasilkan kode HTML, CSS, dan JavaScript yang benar-benar berjalan dengan kecepatan tinggi

Statistik generasi

  • Prompt: 14 token, generasi 14.095 token per detik

  • Pembuatan isi: 4193 token, generasi 25.564 token per detik

  • Penggunaan memori maksimum: 47.687GB

  • Riwayat percakapan lengkap tersedia di tautan gist

  • Source output dapat dilihat di contoh GitHub

  • Bisa juga melakukan uji coba langsung di browser

Uji benchmark pelican

  • Dengan benchmark pelican riding a bicycle, kemampuan menghasilkan gambar SVG dari model yang sama juga dievaluasi
  • Berhasil menghasilkan kode gambar SVG yang kreatif dengan prompt Generate an SVG of a pelican riding a bicycle
  • Model menghabiskan RAM hingga sekitar 48GB untuk mengembalikan hasil
  • Beberapa aplikasi di laptop perlu ditutup agar memori cukup tersedia
  • Kecepatannya juga berada pada tingkat yang memuaskan

Perkembangan model coding lokal

  • Sepanjang 2025, sebagian besar model bahasa besar berfokus pada penguatan performa generasi kode
  • Hasilnya, model-model itu menunjukkan kemampuan generasi kode yang tinggi yang benar-benar dapat dimanfaatkan bahkan di hardware lokal
  • Tingkat ini mendekati sesuatu yang sulit dibayangkan saat percobaan awal LLaMA dua tahun lalu
  • Pada laptop yang sama yang dipakai sekarang, kita sudah bisa menikmati model open source berperforma tinggi yang terus bermunculan seperti GLM-4.5 Air, Mistral 3.2 Small, Gemma 3, Qwen 3
  • Dalam 6 bulan terakhir, lingkungan pengembangan membaik berkat hadirnya beragam model bahasa berkualitas tinggi yang dioptimalkan untuk coding dan dapat dijalankan secara lokal

1 komentar

 
GN⁺ 2025-07-30
Komentar Hacker News
  • Saat pertama kali mengenal LLaMA 2 tahun lalu, saya sama sekali tidak membayangkan model-model seperti GLM 4.5 Air yang kita lihat sekarang—Gemma 3, Qwen 3, Mistral 3.2 Small, dan sebagainya—bisa berjalan di laptop yang saya pakai saat itu. Baik kualitas maupun kecepatan rilis model open source jauh melampaui ekspektasi saya. Sebagai perbandingan, ketika ChatGPT keluar pada Desember 2022, model open source terbaik yang ada saat itu adalah GPT-J (sekitar 6~7B) dan GPT-neoX (sekitar 22B?). Saya bahkan sempat menjalankan layanan pengguna hampir sebulan dengan gpt-j, tetapi kualitasnya berantakan dan sama sekali tidak mengikuti instruksi, jadi saya harus membungkus prompt seperti cerita atau memberi banyak contoh agar bisa bekerja. Setelah model LLaMA “bocor” (menurut saya kemungkinan kebocoran yang disengaja), sejarah berubah. Pada era L1, muncul berbagai optimasi seperti kuantisasi dan fine-tuning, lalu di L2 fine-tuning benar-benar mulai dikomersialkan (kebanyakan fine-tune bahkan lebih baik daripada model asli Meta), dan setelah demo LoRA dari Alpaca, bermunculan model-model sangat kuat seperti Mistral, Mixtral, L3, Gemma, Qwen, DeepSeek, glm, Granite, dan lainnya. Menurut beberapa analisis, model open source tertinggal sekitar 6 bulan dari model yang dirilis lab SotA (dan kemungkinan model terbaik mereka bahkan tidak dipublikasikan, melainkan dipakai internal untuk hal-hal seperti kurasi data pelatihan berikutnya). Selisih 6 bulan itu benar-benar gila. Saya kira butuh sekitar 2 tahun untuk mencapai level gpt-3.5, dan sama sekali tidak membayangkan dunia di mana saya bisa menjalankan model seperti ini secara lokal dan bahkan melakukan fine-tune sendiri

    • Saya terus bertanya-tanya cukup lama tentang bagaimana LLM fine-tuning atau LoRA (parameter-efficient fine-tuning) dibuat, atau bagaimana cara memakainya. Saya tidak pernah mendapatkan jawaban yang benar-benar berguna, dan pencarian web penuh dengan artikel SEO/iklan. Saya sudah tahu dan terbiasa membuat serta memakai SD LoRA sejak 2 tahun lalu. Tapi khusus untuk LLM LoRA, semuanya terasa seperti rahasia yang disembunyikan

    • Kecil kemungkinan Zuck (Mark Zuckerberg) sendiri yang membocorkannya ke tempat seperti 4chan

    • Saya penasaran apakah GLM 4.5 lebih baik daripada Qwen3 coder

  • Saya masih takjub bahwa laptop MacBook Pro M2 64GB yang saya beli 2,5 tahun lalu bisa melakukan pembuatan kode seperti ini. Apalagi kodenya langsung berjalan sekali jadi tanpa perlu perbaikan. Sepertinya kita terlalu meremehkan betapa besarnya potensi hardware saat ini. Saya khawatir pola pikir seperti ‘Bitter lesson’ (semua keajaiban bergantung pada komputasi) atau gagasan ‘batas komputasi efisien’ justru menjauhkan talenta-talenta cerdas dari mengeksplorasi pendekatan yang inovatif. Padahal, melihat model sekarang masih tetap berfungsi meski presisi bobotnya diturunkan sangat jauh setelah pelatihan, saya malah curiga kita justru berada di sisi yang lebih tidak efisien

    • Bukankah inti bitter lesson adalah bahwa jumlah data harus sangat besar? Model yang disebut sebagai contoh itu juga sebenarnya dilatih pada korpus raksasa seperti 22 triliun token
  • Saya penasaran apakah dia benar-benar memahami hasil implementasinya, atau cuma melihat bahwa itu berhasil dijalankan. Rasanya LLM juga bisa memberi jawaban yang kurang lebih benar untuk pertanyaan wawancara umum. Rekan kerja saya membuat aplikasi visualisasi JSON dengan LLM untuk presentasi perubahan data, tapi saya heran kenapa harus bikin baru padahal sudah ada JSON viewer yang berjalan baik. Rasanya di dunia kerja orang lebih sering memakai LLM untuk memperkuat presentasi, bukan sebagai alat yang benar-benar dipakai dalam praktik. Rekan lain butuh makro untuk mengubah banyak konten materi ajar, tapi untuk membuatnya dia malah mulai dari menyusun rubrik prompt untuk LLM, lalu merangkum kebutuhan makro dalam slide presentasi, lalu melemparkannya lagi ke LLM. Sistemnya jadi terlalu rumit, dan saya tidak merasa itu benar-benar menghemat waktu. Hasilnya memang menarik, tapi sering kali sama sekali tidak berguna bagi orang lain

    • Saya memang meninjau sekilas kodenya dan memahami kira-kira apa yang dilakukannya, tetapi setelah memastikan itu berjalan, saya tidak mendalaminya lagi. Saat memakai LLM untuk menulis kode produksi, saya biasanya memeriksa setiap baris. Saya hanya melakukan commit kalau sudah memahaminya sepenuhnya sampai bisa menjelaskannya ke orang lain. Ada tulisan yang merangkum cukup detail bagaimana saya memakai LLM untuk penulisan kode di dunia nyata
      https://simonwillison.net/2025/Mar/11/using-llms-for-code/

    • LLM itu sendiri adalah solusinya

    • Sebenarnya kode sekali pakai (disposable code) adalah bidang di mana AI benar-benar menunjukkan nilainya. Kalau AI bisa otomatis membuat boilerplate untuk sistem build yang absurd, kode animasi, dan sejenisnya, saya sangat menyambutnya (kalau mengingat usaha 3Blue1Brown untuk membuat animasi, saya sangat mendukung bila AI bisa membantu pekerjaan itu). Fakta bahwa orang yang tidak bisa pemrograman sekarang bisa membuat prototipe lalu menyerahkannya ke developer profesional itu benar-benar bernilai besar. Tidak perlu memahami detail hasil kodenya; cukup menilai lulus/gagal, dan kegunaan praktisnya jadi sangat tinggi. Tapi masalah yang bernilai ‘ratusan juta’ berbeda: misalnya perbaikan bug layanan nyata atau penambahan fitur, dan di situ AI mulai mentok. Di sisi lain, kode sekali pakai dulunya merupakan sarana belajar bagi developer junior, dan fakta bahwa AI kini mengambil alih bagian itu memang patut dipikirkan

  • Saya menduga data pelatihan model itu mungkin berisi sangat banyak implementasi Space Invaders dalam berbagai bahasa

    • Uji yang sesungguhnya adalah apakah model bisa menanggapi permintaan implementasi rinci seperti “tolong ubah fungsinya, biar pesawat menembak ke bawah, muncul dari kiri/kanan, tambahkan mode 2 pemain”, dan seterusnya

    • Mungkin juga sebagian data sintetis dibuat dengan cara model menyalin game yang sudah ada di dataset lalu menggabungkannya. Kalau melihat kode frontend React yang dihasilkan LLM, rasanya semuanya keluar dengan pola yang mirip

    • Perdebatan ini sebenarnya sudah selesai sejak 3 tahun lalu. Sejak gpt3, praktis semua kode yang bisa dipakai sudah masuk ke data pelatihan, dan hanya butuh 2 tahun untuk melompat dari “kode sekarang terlihat benar, tapi sebenarnya semuanya salah” ke “aplikasi full-stack yang benar-benar jalan bisa langsung dibuat dengan 0-shot”. Kunci lompatan besar itu bukan semata dataset, melainkan post-training, reinforcement learning (RL), context yang panjang, perilaku agentic, dan sebagainya. Model-model awal dibatasi 2/4k token, tapi sekarang permainannya sudah benar-benar berubah. Tanpa sudut pandang seperti ini, bicara sekadar soal data berarti meleset total dari inti persoalan

    • Kemiripan visualnya dengan game breakout menarik juga

    • Komentar seperti ini pun kemungkinan besar hanyalah komentar sintetis serupa tanpa analisis nyata yang sudah tak terhitung jumlahnya masuk ke data pelatihan

  • Saya memakai M4 Mac dengan RAM 128GB, dan sekarang sedang mengunduh GLM-4.5-Air-q5-hi-mlx (80GB) lewat LM Studio. Saya akan segera membagikan hasilnya

  • Menurut saya, menunjukkan bahwa LLM bisa berjalan lokal di laptop itu punya arti besar. Dulu hal seperti ini nyaris mustahil dengan model kecil, jadi ini benar-benar tonggak penting. Tapi untuk domain yang spesifik/sempit seperti Space Invaders, mungkin lebih efisien langsung mencari implementasi yang sudah ada di GitHub dan mengunduhnya. Dalam kasus seperti ini, training set-nya sendiri sangat kecil, dan ruang vektor model pun tak mungkin luas, jadi besar kemungkinan kode hasilnya sangat mirip dengan sumber aslinya atau nyaris copy-paste. Selain itu, kita juga harus menunggu model mengetik, jadi nilai tambahnya sangat rendah. Rasanya lebih masuk akal menyuruh LLM “carikan source Space Invaders yang sudah ada di GitHub dalam bahasa X”. Lucunya, kalau meminta ChatGPT merangkum isu kode seperti ini, LLM justru cenderung diarahkan untuk mengulang klaim bahwa ‘overfitting hampir tidak ada, dan model juga tidak menghafal’ (saya pribadi juga tidak terlalu percaya dua-duanya)

    • Saya tidak bisa mereproduksi pesan peringatan itu di ChatGPT. Sebenarnya penyisipan peringatan dengan cara seperti ini punya muatan politik yang kuat—baik secara langsung maupun lewat sedikit rekonstruksi—dan itu sangat menarik
  • Saya mencoba dengan Claude Sonnet 4, tetapi hasilnya tidak berfungsi dengan baik. GLM-4.5 Air 3bit quantized malah unggul. Riwayat chat terkait: https://claude.ai/share/dc9eccbf-b34a-4e2b-af86-ec2dd83687ea Claude Opus 4 juga bekerja, tetapi masih jauh tertinggal dibanding GLM-4.5 yang dibagikan Simon: https://claude.ai/share/5ddc0e94-3429-4c35-ad3f-2c9a2499fb5d

  • Awalnya saya salah baca judulnya sebagai “Anak kami yang berusia 2,5 tahun sekarang membuat Space Invaders dengan JavaScript (GLM-4.5 Air)”. Tapi beberapa tahun lagi mungkin itu benar-benar bisa terjadi

  • Diskusi ini memunculkan pertanyaan ala fiksi ilmiah yang menarik. Jika binary kecerdasan buatan masa depan jatuh melalui wormhole ke hardware konsumen masa kini, apakah itu bisa dijalankan sebagai superintelligence, atau setidaknya sebagai agen lemah (atau mungkin bisa men-bootstrap dirinya sendiri di hardware lain lewat jaringan dan daya persuasi)

    • Ini memang premis dasar dari riset ML saya selama ini. Kalau kata ‘wormhole’ diganti dengan ‘genetic programming/neuroevolution dan sebagainya’, hasilnya sama saja. Software dengan optimasi ekstrem dari demoscene-lah yang membawa saya ke arah ini. Pertanyaan yang terus saya pikirkan belakangan adalah, “berapa kompleksitas Kolmogorov dari binary yang memberikan seluruh kemampuan LLM generasi saat ini secara setara?” Kalau ukuran/kompleksitas itu ternyata bisa dijalankan di desktop saya saat ini, seperti apa gambarnya? PC saya bisa menjalankan game AAA di 400fps, jadi saya sulit percaya bahwa LLM hanya bisa memuntahkan teks utf-8 di 100b/s dan memang harus berbeda sejauh itu

    • Bagian itu juga yang paling menarik bagi saya. Berapa banyak kemampuan tersembunyi yang ada, dan bagaimana kita bisa mendorongnya sampai lebih ekstrem lagi? Bahkan bagaimana jika hardwarenya eksotis dan benar-benar baru? Kita biasanya bekerja dengan abstraksi karena keterbatasan otak manusia. Akibat abstraksi itu, kita cenderung fokus pada area sempit, padahal abstraksi punya biaya besar, dan saya penasaran akan potensi yang muncul jika batasan itu dihilangkan

  • Saya penasaran apakah ada situs yang merangkum hardware minimum/rekomendasi untuk menjalankan LLM lokal, seperti dokumen ‘system requirements’ untuk game

    • Di LM Studio (dan ada juga banyak alat lain), sangat mudah memilih model yang sesuai dengan kemampuan hardware

    • Selain jawaban lain, aturan praktis yang bagus adalah kebanyakan model lokal memberikan performa optimal pada kuantisasi q4 (membutuhkan memori sedikit lebih dari setengah jumlah parameter model). Misalnya model 14B memerlukan sekitar 8GB, dan setelah ditambah kapasitas context, sekitar 10GB VRAM adalah angka yang wajar untuk model 14B. Jika masih ada sisa resource di q4, pakailah model dengan parameter lebih besar; kalau tidak cukup, turunkan lagi tingkat kuantisasinya

    • Ada juga referensi di sini
      https://www.reddit.com/r/LocalLLaMA/

    • Saya rasa situs ini sangat berguna
      https://apxml.com/tools/vram-calculator

    • Kalau punya akun HuggingFace, Anda bisa mendaftarkan info hardware yang dimiliki, lalu langsung melihat model mana saja yang bisa dijalankan untuk tiap model