การใช้งาน TensorFlow.js ขั้นต่ำของ minGPT ของ Karpathy (Generative Pre-trained Transformer) ของ Karpathy
คำจำกัดความแบบเต็มของโมเดลภาษา GPT "แบบโฮมเมด" นี้ (ทั้งหมด) สามารถพบได้ในไฟล์ model.ts ไฟล์เดียวนี้ (โค้ดน้อยกว่า 300
บรรทัด)
เนื่องจาก model.ts เขียนด้วย TypeScript คุณจึงสามารถใช้ GPT Playground แบบโฮมเมดเพื่อฝึกฝน ทดลองกับพารามิเตอร์ และสร้างการคาดการณ์ได้โดยตรงในเบราว์เซอร์โดยใช้ GPU
แบบจำลองและ Playground ได้รับการเขียนขึ้นเพื่อ จุดประสงค์ในการเรียนรู้ เพื่อทำความเข้าใจวิธีการทำงานของ GPT และใช้ WebGPU สำหรับการฝึกอบรม
หากต้องการทำความเข้าใจว่าเกิดอะไรขึ้นในไฟล์ model.ts โปรดดูการบรรยายแบบลงมือปฏิบัติที่อธิบายอย่างดีของ Andrej Karpathy เรื่อง "มาสร้าง GPT: ตั้งแต่เริ่มต้น ในโค้ด สะกดออกมา" (อาจเป็นหนึ่งในคำอธิบายที่ดีที่สุดของ GPT)
ภายในโฟลเดอร์ ./gpt/src/ คุณจะพบไฟล์ต่อไปนี้:
Heads
ทั้งหมดภายใน CausalSelfAttention
ตามลำดับ (แทนที่จะเป็นแบบขนาน) เป็นผลให้โมเดลช้าลงเล็กน้อยแต่สามารถอ่านได้มากขึ้น ตุ้มน้ำหนักของโมเดลที่ได้รับการฝึกล่วงหน้าบางรุ่นมีการเผยแพร่ในพื้นที่เก็บข้อมูลโฮมเมด-gpt-js-weights คุณสามารถนำไปใช้ผ่านทางสนามเด็กเล่นบนเว็บ (ส่วน "รุ่น") หรือผ่านทางสนามเด็กเล่น Node.js ( model.setWeights()
)
หากต้องการทดลองใช้พารามิเตอร์โมเดล การฝึก และการสร้างข้อความ คุณสามารถใช้ Homemade GPT JS Playground
สนามเด็กเล่น GPT JS แบบโฮมเมด |
---|
คุณยังสามารถเปิด Playground ในเครื่องได้หากต้องการแก้ไขและทดลองใช้โค้ดของโมเดล Transformer เอง
ติดตั้งการพึ่งพา:
npm i
เปิดตัวสนามเด็กเล่นบนเว็บในเครื่อง:
npm run playground-web
สนามเด็กเล่นจะสามารถเข้าถึงได้บน http://localhost:3000/homemade-gpt-js
รันคำสั่งเหล่านี้จากรากของโปรเจ็กต์ คุณต้องมี Node.js ≥ 20.0.0
คุณยังสามารถทดลองกับโมเดลในสภาพแวดล้อม Node.js ได้
ติดตั้งการพึ่งพา:
npm i
เปิดตัวสนามเด็กเล่น Node.js:
npm run playground-node
ไฟล์ ./playground-node/src/index.ts มีตัวอย่างพื้นฐานของการฝึกอบรมและการสร้างข้อความ
รันคำสั่งเหล่านี้จากรากของโปรเจ็กต์ คุณต้องมี Node.js ≥ 20.0.0