2 poin oleh GN⁺ 2023-07-12 | 1 komentar | Bagikan ke WhatsApp
  • Model bahasa raksasa yang terdiri dari sekitar 1,8 triliun parameter dan 120 layer, berukuran lebih dari 10 kali GPT-3
  • Arsitektur Mixture of Experts (MoE) dengan 16 expert, yang hanya mengaktifkan 2 expert pada setiap forward pass untuk menekan biaya
  • Dilatih dengan sekitar 13 triliun token, menerapkan 2 epoch untuk teks dan 4 epoch untuk kode
  • Arsitektur multimodal dengan vision encoder terpisah; setelah pra-pelatihan teks, dilakukan fine-tuning tambahan sekitar 2 triliun token
  • Dilatih selama 90–100 hari dengan sekitar 25.000 A100; perkiraan biaya pelatihan sekitar US$63 juta

Jumlah Parameter dan Skala Model

  • GPT-4 diperkirakan berukuran lebih dari 10 kali GPT-3, dengan total sekitar 1,8 triliun parameter yang tersebar di 120 layer
  • Pada setiap forward pass (menghasilkan 1 token), hanya digunakan sekitar 280B parameter dan sekitar 560 TFLOPs
    • Sebagai perbandingan, jika berupa model dense murni, kemungkinan diperlukan sekitar 1,8 triliun parameter dan sekitar 3.700 TFLOP
  • Parameter bersama untuk attention berada di kisaran sekitar 55B

Arsitektur Mixture of Experts (MoE)

  • OpenAI menjaga biaya tetap pada tingkat yang wajar dengan memanfaatkan model MoE
    • Menggunakan 16 expert di dalam model, dengan tiap expert memiliki sekitar 111B parameter untuk MLP
    • Pada setiap forward pass, routing dilakukan ke 2 expert
  • Routing MoE

    • Di kalangan akademis, banyak dibahas algoritme routing tingkat lanjut untuk memilih expert per token, tetapi routing GPT-4 saat ini diketahui cukup sederhana
  • Trade-off dalam Memilih Jumlah Expert

    • MoE sangat sulit ditangani saat inferensi karena tidak semua bagiannya digunakan untuk menghasilkan setiap token
      • Sebagian area tetap idle sehingga menurunkan tingkat utilisasi saat melayani pengguna
    • Dari sisi riset, 64–128 expert mencapai loss yang lebih rendah dibanding 16 expert, tetapi ini murni dalam konteks penelitian
    • Jika jumlah expert banyak, generalisasi pada berbagai tugas menjadi sulit dan konvergensi juga lebih rumit
      • Karena alasan ini, OpenAI memilih 16 expert secara konservatif

Dataset

  • GPT-4 dilatih dengan sekitar 13 triliun token; angka ini bukan token unik, melainkan total token setelah pengulangan epoch dijumlahkan
    • Menerapkan 2 epoch untuk data teks dan 4 epoch untuk data kode
  • Mencakup jutaan baris data fine-tuning instruction yang diperoleh dari ScaleAI dan secara internal
  • Komposisi Campuran Dataset

    • Dari 13 triliun token, CommonCrawl dan RefinedWeb masing-masing menyumbang 5 triliun token
    • Jika duplikasi epoch dihapus, tersisa data rahasia dengan "sumber tidak diketahui"
    • Ada rumor bahwa sebagian berasal dari twitter, reddit, dan youtube
      • Sumber dugaan yang disebut-sebut mencakup LibGen (4 juta+ buku), Sci-Hub (80 juta+ makalah), seluruh GitHub, dan lain-lain
    • Ada pandangan bahwa data yang hilang tersebut adalah dataset buku ajar universitas yang dikumpulkan secara manual
      • Setelah dikonversi ke txt, mudah diolah menjadi format instruction dengan self-instruct
      • Hal ini membentuk kesan bahwa GPT-4 "cerdas" terlepas dari bidang keahlian
    • Ada juga makalah yang mencoba memahami data pelatihan dengan mengekstrak paksa sebagian buku yang dihafal GPT-4
      • Beberapa buku diketahui dengan sangat baik sehingga hampir pasti pernah dilatih, bahkan mengingat id unik soal Project Euler

Konteks GPT-4 32K

  • Pada tahap pra-pelatihan digunakan panjang konteks 8k (seqlen)
  • Versi 32k seqlen adalah hasil fine-tuning model 8k setelah pra-pelatihan

Ukuran Batch

  • Di cluster, ukuran batch dinaikkan secara bertahap selama beberapa hari, hingga akhirnya menggunakan ukuran batch 60 juta
    • Karena tidak semua expert melihat semua token, per expert jumlahnya sekitar 7,5 juta token
  • Ukuran batch sebenarnya baru dapat dihitung dengan membagi angka ini dengan seq len

Strategi Paralelisasi

  • Untuk paralelisasi di seluruh GPU A100, digunakan 8-way tensor parallelism (batas NVLink)
    • Di luar itu diterapkan 15-way pipeline parallelism
    • Kemungkinan menggunakan ZeRO Stage 1, dan ada kemungkinan menggunakan block-level FSDP
  • Alasan Tidak Menggunakan FSDP

    • Sebagian infrastruktur hardware yang dimiliki kemungkinan adalah generasi lama
      • Pada cluster komputasi lokal, sudah umum melakukan upgrade infrastruktur dalam beberapa "tahap" untuk menghindari penghentian operasi

Biaya Pelatihan

  • FLOPS pelatihan GPT-4 sekitar 2.15e25, selama 90–100 hari di sekitar 25.000 A100, dengan MFU sekitar 32–36%
    • Utilisasi yang sangat rendah disebabkan oleh jumlah kegagalan berlebihan yang memicu restart dari checkpoint
  • Dengan asumsi sekitar US$1 per jam untuk A100, pelatihan ini saja diperkirakan menghabiskan sekitar US$63 juta
    • Dengan kondisi saat ini, pra-pelatihan bisa dilakukan dengan sekitar 8.192 H100 selama sekitar 55 hari, atau sekitar US$21,5 juta dengan tarif US$2 per jam untuk H100

Biaya Inferensi GPT-4

  • GPT-4 memiliki biaya 3 kali dibanding Davinci 175B parameter
    • Disebabkan kebutuhan cluster yang lebih besar dan utilisasi yang jauh lebih rendah
  • Perkiraan biaya: untuk inferensi GPT-4 8k seqlen dengan 128 A100, US$0,0049 sen per 1k token; dengan 128 H100, US$0,0021 sen
    • Dengan asumsi mempertahankan utilisasi yang cukup tinggi dan ukuran batch besar

Multi-Query Attention (MQA)

  • Seperti pihak lain, OpenAI juga menggunakan MQA
    • Karena hanya membutuhkan 1 head, kapasitas memori KV cache dapat dikurangi secara signifikan
    • Meski demikian, GPT-4 32k seqlen tidak dapat dijalankan di A100 40GB, sementara 8k dibatasi oleh ukuran batch maksimum

Continuous Batching

  • OpenAI mengimplementasikan baik ukuran batch variabel maupun continuous batching
    • Sekaligus mencapai toleransi latensi maksimum pada tingkat tertentu dan optimisasi biaya inferensi

Multimodal Vision

  • Vision encoder terpisah dari text encoder dihubungkan dengan cross-attention, arsitektur yang mirip Flamingo
    • Menambahkan parameter ekstra di atas 1,8 triliun parameter
    • Setelah pra-pelatihan khusus teks, dilakukan fine-tuning tambahan dengan sekitar 2 triliun token
  • Awalnya model vision hendak dilatih dari awal, tetapi karena tingkat kematangannya kurang, mereka memulai dari teks untuk mengurangi risiko
  • Tujuan utama fitur vision adalah mewujudkan agen otonom yang membaca halaman web dan menyalin isi gambar serta video
    • Data pelatihan mencakup data gabungan LaTeX/teks yang dirender, screenshot halaman web, sampling frame video YouTube, dan transkripsi berbasis Whisper

Speculative Decoding

  • Ada kemungkinan speculative decoding digunakan dalam inferensi GPT-4 (belum 100% pasti)
    • Beberapa token didekode terlebih dahulu dengan model yang lebih kecil dan cepat, lalu dimasukkan ke model oracle besar dalam satu batch
    • Jika prediksi model kecil benar, model besar menyetujuinya dan beberapa token didekode dalam satu batch
    • Jika model besar menolak, sisa batch dibuang dan proses dilanjutkan dengan model besar
  • Teori konspirasi terbaru soal penurunan kualitas GPT-4 mungkin disebabkan model oracle menerima sekuens probabilitas rendah dari model speculative decoding

Arsitektur Inferensi

  • Inferensi berjalan di cluster 128 GPU, dengan banyak cluster berada di beberapa data center
    • Dilakukan dengan 8-way tensor parallelism dan 16-way pipeline parallelism
    • Setiap node 8 GPU menyimpan sekitar 130B parameter
  • Karena model memiliki 120 layer, model dimuat secara terdistribusi ke 15 node
    • Node pertama yang juga harus menghitung embedding kemungkinan memiliki layer lebih sedikit
  • Berdasarkan angka ini, jika mengikuti nilai optimal Chinchilla, seharusnya pelatihan dilakukan dengan token 2 kali lebih banyak, yang mengindikasikan sulitnya memperoleh data berkualitas tinggi

1 komentar

 
GN⁺ 2023-07-12
Komentar Hacker News
  • Sebelumnya juga sudah muncul di sini https://news.ycombinator.com/item?id=36671588 dan di sini https://news.ycombinator.com/item?id=36674905
    Sumber aslinya adalah https://www.semianalysis.com/p/gpt-4-architecture-infrastruc..., dan tulisan di Twitter tampaknya hampir hanya memparafrasakan artikel blog sebenarnya. Jadi sepertinya tweet itu dihapus
    Fakta bahwa mereka memakai Mixture of Experts (MoE) itu baru dan sangat menarik, dan saya ingin tahu lebih banyak tentang bagaimana mereka membuatnya bekerja. Variasi implementasinya mungkin juga menjelaskan fluktuasi kualitas output yang diamati orang-orang. Model vision yang disebutkan di sini juga masih sedikit diketahui selain beberapa demo beberapa bulan lalu, jadi saya menunggu perilisannya

    • Saya harus bertanya ke GPT apa itu MoE
      Dalam konteks kecerdasan buatan, “MoE” biasanya berarti “Mixture of Experts”, yaitu teknik machine learning yang membagi masalah menjadi submasalah, membiarkan “pakar” (model) yang terspesialisasi menyelesaikan tiap submasalah, lalu menggabungkan outputnya
    • Sebagai catatan, George Hotz sudah mengklaim mengetahui bagian ini sejak beberapa minggu lalu
      Jika fakta bahwa GPT-4 memakai MoE adalah hal baru, itu mungkin menambah sedikit kredibilitas pada klaim tersebut
    • Menariknya, Google tampaknya sudah memakai sekitar 2.000 pakar pada masa arsitektur Transformer pertama, jika saya memahaminya dengan benar https://www.youtube.com/watch?v=9P_VAMyb-7k&t=6m42s [sparsely-gated mixture of experts layer]
    • Nama mixture of experts mungkin tidak disebutkan secara eksplisit, tetapi cukup jelas bahwa kita mendapatkan model yang berbeda tergantung pada pertanyaan
      Ini menunjukkan bahwa model bahasa besar sama sekali berbeda dari kecerdasan buatan umum. Menempelkan kalkulator hanyalah solusi sementara, dan meski solusi sementara yang berguna, menurut saya itu tidak membuatnya mampu melakukan sains
    • Postingan sebelumnya adalah pratinjau dari thread Twitter yang sudah dihapus dan artikel yang memerlukan langganan 1.000 dolar
      Postingan ini setidaknya bisa dilihat gratis untuk saat ini
  • Jika ini benar, pelatihannya memakan 21 yottaFLOPS. Saya tidak ingat kapan terakhir kali melihat prefiks yotta-
    Dan biaya pelatihan GPT-4 sudah menjadi sepertiga dari setahun lalu. Kecepatan turunnya harga pelatihan model bahasa besar benar-benar mengejutkan, dan ini kabar baik untuk open source. Memo Google yang mengatakan tidak ada moat ternyata benar

    • Meski begitu, hampir tidak ada yang benar-benar berubah. Semakin murah pelatihan model besar, semakin perusahaan besar bisa melatih model yang lebih besar daripada semua pihak lain
      Kalaupun harga grosir beras 0,001 dolar per kg, jika saya punya 1 juta dolar dan Anda punya 1.000 dolar, saya tetap bisa membeli beras 1.000 kali lebih banyak daripada Anda
    • Moat yang sebenarnya adalah berlimpahnya data berkualitas tinggi
    • Memo Google mengatakan tidak ada moat, tetapi bahkan setelah 5 bulan, belum ada yang melampaui kualitas hasil mereka. Menurut saya moat itu ada
      Selain itu, untuk banyak penggunaan, lebih pintar berarti lebih baik. Jika dengan beberapa sen kita bisa membeli jawaban yang lebih akurat, beberapa sen itu selalu layak dibayar. Selama mereka bisa melatih model yang lebih besar dan lebih baik dengan lebih banyak hardware dan lebih banyak data, itulah moat
    • Ini kabar baik untuk open source, tetapi sekaligus juga kabar baik bagi agitator, troll, badan intelijen asing, dan propagandis
      Saya kagum pada teknologinya, tetapi kali ini saya takut karena sulit membayangkan apa artinya bagi masa depan. Mungkin ini akan membunuh web terbuka, lalu undang-undang terkait akan disahkan dan mengubur web terbuka
  • Pernyataan bahwa “teori konspirasi bahwa kualitas GPT-4 baru menurun mungkin karena model oracle menerima urutan dengan probabilitas lebih rendah dari model speculative decoding” pada akhirnya mengakui bahwa dugaan itu mungkin benar dan bahkan menyajikan mekanisme tertentu, tetapi tetap menghina orang-orang yang mengangkat masalah itu dan terus melakukan gaslighting

    • Menyebut sesuatu sebagai teori konspirasi bukanlah penghinaan terhadap seseorang
      Karena belum terbukti, itu adalah teori; dan karena orang-orang mengira OpenAI sengaja menurunkan kualitas layanannya sendiri, itu adalah teori konspirasi
  • Orang ini sepertinya tidak tahu apa yang dia bicarakan. Dia terus mengunggah omong kosong semacam ini di Twitter. Sebagian besar hanya copy-paste lalu diberi bumbu

    • Ada beberapa bagian yang tidak cocok dengan perkiraan orang-orang sebelumnya
      Misalnya, MoE mungkin saja, tetapi 16 pakar masing-masing 111 miliar parameter tidak masuk akal. GPT-3 saja 175 miliar parameter, dan sepertinya mereka tidak akan mengurangi ukuran model dasar ke depan. Angka yang lebih masuk akal adalah sekitar 220 miliar parameter per model dengan 8 model pakar, dan biaya inferensi totalnya sama
      Angka data pelatihan 13 triliun token juga tampak seperti diambil dari udara kosong
    • Ini Twitter, jadi rasanya tidak ada alasan untuk berharap berbeda
  • Google telah meneliti mixture of experts untuk menskalakan model bahasa besar. Model GLaM yang mereka umumkan pada 2022 memiliki 1,7 triliun parameter dan 64 pakar
    https://icml.cc/media/icml-2022/Slides/17378.pdf

    • Google tertinggal secara menggelikan dalam hal model bahasa besar. Mereka cukup baik mengintegrasikan model machine learning vision dan audio ke ekosistem mereka, tetapi meremehkan bahasa
  • “Sam Altman tidak akan memberi tahu Anda bahwa GPT-4 memiliki 220 miliar parameter dan menggunakan 8 set bobot dalam model campuran 16 arah,” kata George Hotz dalam wawancara Lex Fridman baru-baru ini
    Dari reaksi Lex, tampaknya dia juga tahu bahwa ini benar

  • Ini kurang berdasar. Satu-satunya orang yang tahu persis bagaimana GPT-4 bekerja adalah karyawan OpenAI, dan sisanya hanya bisa berspekulasi

    • Kalau hanya mengikuti pernyataan publik Sam Altman pun kemungkinan akan sampai pada kesimpulan serupa. GPT-4 itu besar, dan sulit dibuat lebih cepat
      Namun saus rahasia dan moat-nya ada pada data. Saya pernah mendengar rumor bahwa OpenAI membayar peserta competitive programming untuk menulis dan memberi anotasi pada kode yang mencakup informasi seperti kompleksitas
  • Saya sempat penasaran bagaimana layanan premium gratis seperti Thread Reader masih bisa beroperasi, meski Twitter mengenakan biaya berlebihan untuk akses API dan mengambil langkah anti-scraping
    Paket API termurah yang punya izin baca biayanya 100 dolar per bulan dan hanya bisa membaca 10 ribu tweet, jadi halaman seperti ini hanya bisa dibuat sekitar 500 kali secara on-demand

    • Baru-baru ini di HN ada posting tentang cara bypass yang dipakai aplikasi-aplikasi seperti ini. Saya tidak punya tautannya sekarang, tapi kalau dicari seharusnya ketemu
    • Mungkin lanjutannya seperti const puppeteer = require('puppeteer');
  • Tulisan ini punya beberapa bagian yang aneh dibandingkan keyakinannya yang seolah “tahu semua angkanya”
    Katanya “pretraining saat ini bisa dilakukan dengan sekitar 8192 H100 selama sekitar 55 hari, dengan biaya 21,5 juta dolar jika H100 dihitung 2 dolar per jam”, tapi saya tidak mengerti mengapa ukuran sistem dan waktu pelatihannya sama-sama disetel ke angka arbitrer
    Juga disebutkan bahwa MoE sulit ditangani dalam inference karena tidak semua bagian model digunakan setiap kali menghasilkan token, sehingga sebagian menganggur dan sebagian dipakai, dan ini berdampak buruk pada utilization saat melayani pengguna. Tapi utilization dari apa tidak jelas. Memori? Kalau utilization inference memang begitu dikhawatirkan, bukankah tinggal menjalankan model non-MoE saja?
    Tentang MQA juga disebutkan bahwa “karena itu hanya diperlukan 1 head dan kapasitas memori KV cache bisa sangat dikurangi”, yang hampir benar tapi keliru. Key dan Value head memang hanya perlu satu, tetapi jumlah Query head tetap sama
    Dugaan saya, seseorang yang cukup paham memakai rumus dari makalah scaling tahun 2020 lalu membuat sistem imajiner yang matematikanya benar. Saya juga bisa mengarang tulisan serupa agar terdengar meyakinkan, tetapi karena itu di luar level saya, hasilnya pasti sama-sama mendekati tetapi jelas salah. Jadi kesannya sangat mencurigakan

    • Tidak, penjelasan MQA dalam tulisan itu benar. KV cache hanya menyimpan cache untuk Key dan Value head
      Inti MQA adalah karena sharing ini, KV cache menjadi lebih kecil sebesar faktor jumlah head dibandingkan kasus umum. Meski ada banyak Query head, itu tidak memengaruhi ukuran cache, dan dalam hal kapasitas memori maupun bandwidth, faktor pembatas decoding MHA adalah cache