2 poin oleh GN⁺ 2023-07-22 | 1 komentar | Bagikan ke WhatsApp
  • LLaMA2 tidak memenuhi definisi tradisional open source karena ada pembatasan pada penggunaan komersial dan pemanfaatan output model, tetapi di ranah model AI, konsep open source itu sendiri perlu berevolusi kembali
  • Terdapat pembatasan yang bertentangan dengan semangat OSS seperti larangan penggunaan komersial untuk layanan dengan lebih dari 700M MAU pada saat peluncuran, serta larangan menggunakan output model untuk melatih LLM lain
  • Seperti makna yang berubah dalam sejarah perangkat lunak dari "free software" → "open source" → "source available", di AI pun "open source" lazim digunakan dengan arti bobot yang dapat diunduh
  • Tingkat keterbukaan model dibagi menjadi Open models, Open weights, Restricted weights, dan Contaminated weights, dan LLaMA2 termasuk dalam kategori Restricted weights
  • Open source yang sepenuhnya lengkap dan bisa dilatih ulang dari awal tidak realistis karena masalah biaya, dan keputusan Meta membuka komputasi senilai sekitar $2M memberi dampak positif bersih bagi kemajuan bidang ini

Kontroversi istilah "open source" pada LLaMA2

  • Saat LLaMA2 dirilis, banyak tokoh komunitas OSS mengeluhkan penggunaan istilah "open source" yang keliru untuk model tersebut
  • Model ini pada umumnya cukup terbuka, tetapi memiliki pembatasan yang jelas
    • Operator dengan MAU lebih dari 700M per tanggal rilis tidak boleh menggunakan model ini secara komersial
    • Output model tidak boleh digunakan untuk melatih large language model lain
  • Pembatasan seperti ini tidak sejalan dengan semangat open source (OSS ethos), sehingga tidak dapat disebut open source dalam arti tradisional
  • Namun, pandangannya adalah bahwa hal itu tidak terlalu penting, dan di era model AI istilah "open source" memang perlu berevolusi lagi

From Free to Open — dari "kebebasan" ke "keterbukaan"

  • Sejak "Open Letter to Hobbyists" pada 1976, selalu ada ketegangan antara kepentingan komersial perusahaan perangkat lunak dan rasa ingin tahu para hacker yang ingin menghindari berbagai pembatasan
  • Gerakan "free software" dimulai bersama Richard Stallman di MIT AI Lab pada 1970-an, lalu berlanjut ke proyek GNU pada 1983
    • Lahir lisensi GPL "copyleft", yang kemudian diadopsi oleh Red Hat, MySQL, Git, dan Ubuntu
  • Istilah "open source" muncul pada 1998 berkat Christine Peterson dari MIT
    • Dalam "Freeware Summit", istilah "free software" resmi ditinggalkan dan digantikan dengan "open source software"
  • Setelah itu, komunitas "free" dan "open source" terpecah karena perbedaan penafsiran makna
    • Free Software Foundation mendefinisikan free software sebagai himpunan bagian dari open source, dengan penggunaan lisensi yang sangat permisif seperti GPL dan Apache
  • Dalam 10 tahun terakhir, ketegangan antara perusahaan open source komersial dan hyperscaler cloud memicu perpecahan lagi
    • Elastic dan MongoDB beralih ke SSPL (Server-Side Public License), yang mengizinkan penggunaan komersial selama tidak menawarkan versi hosting
    • Tujuannya adalah mencegah AWS me-rehost produk itu sebagai layanan cloud untuk menghasilkan keuntungan
    • SSPL melanggar prinsip OSS dan tidak diakui OSI sebagai lisensi open source
    • Meski begitu, banyak developer masih menyebut MongoDB sebagai open source
  • "open source" secara bertahap kehilangan nuansa makna kebebasan (freedom) dan dalam persepsi developer berubah menjadi hampir sinonim dengan "source available"

From Source to Weights — dari "source" ke "weights"

  • Dengan munculnya open model seperti Dolly, MPT, dan LLaMA, perpecahan serupa juga terjadi di komunitas
  • Bagi sebagian besar engineer AI saat ini, "open source" tidak lebih dan tidak kurang dari bobot yang dapat diunduh (downloadable weights)
  • Heather Meeker telah mengusulkan definisi "open weights", tetapi belum ada konsensus komunitas
  • Isu intinya adalah apakah open weights saja sudah cukup untuk menyebut model sebagai open source
    • Jika dianalogikan ke perangkat lunak, ini seperti hanya membuka binary tanpa source code untuk membangun ulang dari awal
  • Agar benar-benar menjadi open source yang bisa dilatih ulang dari awal, perlu dibuka seluruh kode pelatihan, dataset pretraining, data preferensi fine-tuning, hingga contoh RLHF
    • Masalahnya adalah biaya pelatihan, dan bahkan jika semuanya dibuka, bagi kebanyakan developer dan perusahaan pelatihan dari nol tetap tidak layak secara biaya
    • Pada akhirnya, akses ke bobot akhir saja pun tetap lebih disukai

Klasifikasi 4 tingkat keterbukaan model

  • Open models: seperti RedPajama dan MPT-7B, menyediakan open weights yang dapat digunakan secara komersial di bawah lisensi Apache 2.0
    • Dataset-nya juga open source sehingga bisa dilatih ulang dari awal
  • Open weights: seperti StableLM yang dilatih StabilityAI, bobotnya dibuka dengan Apache 2.0 tetapi dataset pelatihannya tidak dipublikasikan
    • Menurut README, model ini dipretrain di atas dataset eksperimental baru yang dibangun dari The Pile, dengan skala sekitar 1.5T token, kira-kira 3 kali lebih besar
  • Restricted weights: seperti LLaMA2, dataset pretraining-nya tidak dipublikasikan, dan meski bobotnya dikatakan dapat digunakan secara komersial, tetap ada pembatasan tertentu seperti yang disebut sebelumnya
  • Contaminated weights: seperti Dolly 1.0 dan LLaMA1, bobotnya memang dibuka, tetapi dataset pelatihannya tidak mengizinkan penggunaan komersial sehingga secara teknis terbuka namun secara praktis tidak bisa digunakan

Penutup — arah keterbukaan

  • Untuk sementara, open source dan open weights akan terus dipakai secara bergantian, dan itu dianggap tidak masalah
  • Yang penting adalah pekerjaan ini dilakukan semakin terbuka mungkin (as openly as possible)
  • Wajar jika orang merasa kecewa dengan lisensi LLaMA2, tetapi keputusan Meta membuka sekitar $2M nilai FLOPS ke dalam repositori GitHub adalah dampak positif bersih bagi kemajuan bidang ini

1 komentar

 
GN⁺ 2023-07-22
Komentar Hacker News
  • Aneh rasanya menempatkan LLaMA ke dalam kategori bobot terbatas tepat di atas tulisan, lalu mengatakan bahwa ke depan open source dan bobot terbuka akan dipakai secara bergantian
    Bahkan menurut definisi yang diajukan penulis, LLaMA 2.0 bukan open source, dan tidak seharusnya disebut begitu
    Jika di ranah LLM open source berarti “bobotnya bisa diunduh” dan pembatasan penggunaan tidak dianggap penting, maka itu bukan sekadar pergeseran istilah sesuai konteks baru, melainkan lebih dekat ke pengerdilan makna Open Source
    LLaMA bahkan bukan bobot terbuka; paling banter ia adalah bundel bobot proprietari tertutup yang hanya bisa dibandingkan dengan perangkat lunak source-available
    Facebook menyebut LLaMA sebagai open source itu menyesatkan, dan kita tidak seharusnya mengikuti narasi itu
    Soal apakah bobot sendiri bisa dikenai hak cipta adalah pembahasan terpisah, dan secara pribadi saya rasa tidak bisa

    • Saya penulis tulisan aslinya, dan saya setuju bahwa LLaMA2 bukan open source. Judul saya awalnya memang begitu, lalu judul HN yang diubah
      Hanya saja, kebanyakan orang tidak benar-benar paham, jadi mereka akan terus menyebutnya “open source”, dan inti tulisan saya adalah bahwa itu sulit diperbaiki
      Daripada hanya mengatakan “ini bukan open source”, kita perlu menciptakan istilah yang lebih baik
      Selain itu, meskipun penggunaan bobotnya dibatasi, skala investasi komputasi yang diungkapkan tetap sangat besar. Rasio token pelatihan terhadap parameter adalah 285:1, dan dari grafik loss terlihat bahwa modelnya masih belum jenuh
      Itu informasi yang berharga bagi tim lain yang ingin melatih model mereka sendiri
      LLaMA1 memang sangat terbatas, tetapi komposisi data dalam makalahnya melahirkan RedPajama, dan itu dipakai untuk melatih MPT
      Meski tidak cocok dengan label tradisional, masih ada banyak nilai yang bisa mengalir ke open source dari pekerjaan seperti ini
  • Saya tidak tahu bahwa lisensi llama melarang output-nya dipakai untuk melatih model lain
    Ini pada dasarnya adalah batasan yang fatal. Ke depan, data sintetis akan menjadi data pelatihan yang paling penting, jadi model yang melarang penggunaan data sintetis untuk melatih model baru adalah model yang sangat cacat

    • Lucu melihat para pemain besar di bidang ini menganggap dua gagasan berikut sebagai posisi yang konsisten secara bersamaan
      Melatih model dengan data internet sembarangan tanpa izin atau lisensi itu boleh hanya karena datanya bisa diakses, tetapi melatih model lain dengan model kami tidak boleh
    • Saya tidak yakin klausul seperti ini bisa ditegakkan secara hukum tanpa mematikan hampir semua perusahaan AI di pasar saat ini
      Premis hukum model-model ini adalah bahwa melatih dengan materi berhak cipta merupakan fair use
      Kalau tidak, apakah Facebook ingin berargumen bahwa memasukkan materi berhak cipta ke dalam dataset tanpa memedulikan keinginan pencipta hak cipta itu bukan fair use? Kalau begitu, itu kabar buruk bagi LLaMA
      Sikap “untuk melatih dengan ini Anda perlu izin” adalah posisi hukum yang menarik jika diambil oleh perusahaan AI mana pun
    • Tingkat kemunafikannya benar-benar keterlaluan
      “Kami melatih dengan sebagian besar internet tanpa izin, tetapi jangan sekali-kali bermimpi melatih dengan output model kami tanpa izin kami!” begitu maksudnya
      OpenAI juga memasang pembatasan serupa
    • Ini pada dasarnya salah, dan mengecewakan bahwa ini jadi komentar teratas
      Anda tidak bisa melatih model lain dengan output model begitu saja, karena itu akan berujung pada omong kosong total. Ini disebut model collapse: https://arxiv.org/abs/2305.17493v2
      Dan lisensi Llama 2 memang mengizinkan pengguna melatih model turunan. Bagian yang benar-benar dipedulikan orang adalah yang ini: https://github.com/facebookresearch/llama/blob/main/LICENSE
    • Meski begitu, sepertinya tetap sulit ditegakkan. Bagaimana cara mengetahuinya?
  • Ini bukan masalah baru. Konsep Open Source yang ketat dan didefinisikan untuk perangkat lunak memang tidak pernah benar-benar pas diterapkan pada hal yang bukan perangkat lunak
    Karena itulah ada lisensi Creative Commons. Mendistribusikan foto dengan GPL2 sejak awal memang tidak masuk akal
    Di media baru, redefinisi memang selalu diperlukan

    • LLM lebih dekat ke perangkat lunak daripada ke media
      GPL mendefinisikan source code sebagai bentuk yang paling disukai untuk melakukan modifikasi, dan juga mencakup skrip untuk membuat executable dari source
      Dalam kasus ini, bobot lebih mirip kode eksekusi yang sudah dioptimalkan hasil dari alur pemrosesan, sedangkan “source”-nya adalah data pelatihan serta kode dan prosedur untuk mengubahnya menjadi model
      Pada LLM yang sangat besar mungkin nyaris tak ada yang bisa memanfaatkannya, tetapi pada model akademik kecil ini tetap bermakna karena para peneliti bisa membangun di atas pekerjaan satu sama lain
    • Creative Commons tidak pernah mengklaim diri mereka sebagai lisensi open source, dan biasanya memakai istilah budaya bebas
    • Media seperti foto, lagu, dan video juga punya source. Bahan mentah dan proyek yang dipakai untuk merender gambar atau menghasilkan output video/audio itulah source-nya
      Source untuk model bahasa sebenarnya lebih dekat ke kode yang dipakai untuk melatih model tertentu, sementara modelnya sendiri, meski bukan machine code, lebih dekat ke binary yang sudah dikompilasi
      Jadi menurut saya, agar sebuah model benar-benar open source, perangkat lunak yang dipakai untuk membuatnya harus dirilis sehingga saya bisa memodifikasinya dan melatihnya dengan data saya sendiri untuk digunakan
    • Tidak perlu redefinisi. Media baru membutuhkan istilah baru
    • Saat saya masuk universitas, “Open Source” yang ketat itu sendiri bahkan belum merupakan definisi
  • Belum ada kepastian di pengadilan apakah bobot termasuk objek hak cipta, dan tergantung hasilnya, berbagai lisensi dan pembatasan bisa saja menjadi tidak berarti

    • Klausul itu terlihat berisiko
      “Para seniman, model hanya belajar seperti manusia, jadi tidak mungkin melanggar hak cipta kalian. Kalau kebetulan mencetak sebagian isi buku, itu cuma plagiarisme yang tidak sengaja. Kita semua juga begitu kan haha! Para pengacara mengingatkan kita bahwa plagiarisme tidak ilegal di AS.”
      “Para engineer, output model kami dilindungi hak cipta, jadi kalau kalian melatih model kalian sendiri dengan itu, maka itu milik kami.”
      Saya tidak paham bagaimana keduanya bisa benar pada saat yang sama
    • Mirip dengan itu, klausul yang umum seperti “output model ini tidak boleh digunakan untuk meningkatkan model lain” setahu saya juga tidak bisa ditegakkan lewat hak cipta
      Paling jauh itu hanya klausul kontrak yang mengikat pengguna tertentu, dan orang yang nanti memakai model hasil peningkatan itu tampaknya tidak bermasalah
    • Gagasan bahwa bobot mungkin bukan objek hak cipta sangat menarik, bahkan menggoda
      Hanya saja sulit membayangkan apakah dunia seperti itu benar-benar mungkin
      Akan bagus jika ada ringkasan mengapa bobot mungkin bukan objek hak cipta, atau referensi yang mendukung sudut pandang itu
    • Masih belum jelas juga apakah berbagai badan legislatif akan meloloskan undang-undang yang secara eksplisit menetapkan status hak cipta bobot model
      Perlu diingat bahwa apa yang termasuk dan tidak termasuk objek hak cipta bisa berubah
    • Benar. SSPL juga mirip
      GPL sudah teruji lewat kasus FSF v. Cisco (2008), tetapi lisensi yang lebih restriktif belum teruji
  • Masalahnya adalah sudah ada model besar seperti MPT-30b atau Falcon-40b yang mengadopsi lisensi open source yang benar-benar nyata
    Saya berterima kasih karena bisa mengakses bobot Llama2, tetapi terasa tidak adil jika Llama2 mengambil kredit sebagai “open source” padahal sudah ada model pesaing yang benar-benar open source dalam arti OSI tradisional
    Perbedaan praktis antar lisensi cukup kecil sehingga kebanyakan orang, termasuk saya, kemungkinan tetap akan memilih Llama2 yang kualitas modelnya lebih baik
    Namun insentif seperti itu pada akhirnya bisa membuat kita terjebak dalam lisensi semi-terbuka yang canggung

  • Istilah source available sudah ada, jadi saya tidak mengerti mengapa istilah “open source” harus berevolusi
    Dalam kasus ini, cukup katakan “bobot yang disediakan dengan lisensi yang minim pembatasan”

    • Generasi baru programmer tidak ingat masa ketika belum ada open source atau free software sama sekali, jadi perbedaannya terasa seperti pembedaan akademis, bukan sesuatu yang benar-benar dirasakan
  • Diagram dalam tulisan ini sangat keliru karena menampilkan hanya GPL sebagai free software, sementara MIT/Apache tampak seolah open source tetapi bukan free software
    Pihak FSF memang tidak menyukai istilah “open source”, tetapi bahkan mereka pun mengatakan bahwa “hampir semua perangkat lunak open source adalah free software”
    Secara khusus, lisensi MIT, Apache, dan LGPL jelas merupakan lisensi free software. Jika tidak, perangkat lunak yang bisa dipilih distro Debian atau distribusi yang disetujui FSF akan jauh lebih sedikit
    Kemungkinan yang ingin dibedakan diagram itu adalah copyleft versus free software atau open source
    Jika diurutkan dari sudut pandang tingkat permisif, hubungan subset-nya juga seharusnya terbalik. GPL jauh lebih permisif daripada SSPL dan sejenisnya, tetapi kurang permisif dibanding MIT/Apache

    • Benar. Dari sudut pandang lisensi, Open Source dan Free Software hampir bisa dipakai bergantian
      Perbedaannya bukan teknis, melainkan politis
      Bagian tulisan ini juga cukup menyesatkan: “free software sebagaimana didefinisikan oleh Free Software Foundation hanyalah subset dari perangkat lunak open source, dan menggunakan lisensi yang sangat permisif seperti GPL dan Apache”
  • Dalam diagram itu, secara teoretis seharusnya ada kategori lain yang berada di luar “Restricted Weights” tetapi masih lebih sempit daripada keseluruhan “Completely Closed”
    Misalnya bobot dan model black box, yang bisa dipakai gratis tetapi pada praktiknya tidak bisa diperiksa atau dipindahkan
    Ini setara dengan kategori saudara dari perangkat lunak closed source yang “gratis digunakan”
    AI yang gratis dipakai tetapi diberikan hanya sebagai blob biner cocok masuk kategori ini
    Atau modul Python yang memanggil mesin inferensi dan bobot dalam bentuk biner prapilasi tanpa source juga termasuk
    Padanan tradisionalnya di dunia software saat ini adalah driver Linux pihak ketiga yang bukan open source. Gratis, tetapi tidak terbuka
    Di dunia AI saya belum banyak melihat hal seperti ini. Pihak yang merilis bobot biasanya melakukannya untuk tujuan riset sehingga inferensinya juga sering harus open source, sedangkan pihak yang punya model tertutup ingin menghasilkan uang sehingga tidak ada alasan membuka sisi inferensi dan cukup menagih biaya API saja, misalnya seperti “OpenAI”

    • Walau tidak dimasukkan, itu tampaknya termasuk dalam lingkaran “gratis seperti bir, tetapi tidak bebas”
  • Judulnya telah diedit. Judul aslinya adalah “LLaMA2 isn't "Open Source" - and why it doesn't matter”
    Judul itu diubah dengan nuansa yang cukup berbeda, dan saya merasa penulis serta penerbit mungkin punya pandangan berbeda tentang makna open source

    • Moderator yang mengubah judulnya, dan saat pertama kali diposting saya memakai judul asli. Saya tidak tahu kenapa diubah
    • Keduanya orang yang sama :)
  • Karena Open Source sudah lama mengakar dalam budaya teknis, penyimpangan dari sana selama ini cenderung mendapat ejekan
    Belakangan ini komunitas tampaknya menjadi lebih toleran terhadap lisensi “terbuka” seperti ini
    Kritikan terhadap proyek yang tidak memenuhi standar FOSS memang sering berlebihan, tetapi saya berharap kita tidak terlalu cepat bergeser ke arah “open” seperti ini
    Ada tulisan lain tentang LLaMa2: https://opensourceconnections.com/blog/2023/07/19/is-llama-2...