นับพารามิเตอร์เอง: "8B" มาจากไหน
ลองนับ พารามิเตอร์ (parameter, weight)ตัวเลขในตารางต่างๆ ของโมเดลที่ถูกปรับระหว่างการฝึก ขนาดอย่าง "8B" หมายถึงมีพารามิเตอร์ราว 8 พันล้านตัวดูคำศัพท์ทั้งหมด เอง เครื่องคิดเลขในมือถือก็พอ
ให้ d = ความยาวเวกเตอร์ หนึ่ง ชั้น (layer, Transformer block)หนึ่งรอบการประมวลผลที่มีทั้ง attention และ MLP โมเดลจริงซ้อนกันหลายสิบชั้น โดยแต่ละชั้นแก้เวกเตอร์ของทุก token ทีละนิดดูคำศัพท์ทั้งหมด ของดีไซน์มาตรฐานมี
- กลไกความสนใจ (attention)วิธีที่แต่ละคำเลือกว่าจะ "ฟัง" คำอื่นในประโยคมากน้อยแค่ไหน โดยใช้ softmax แบ่งน้ำหนักให้รวมได้ 100%ดูคำศัพท์ทั้งหมด: 4 ตาราง d × d () → 4d²
- เครือข่ายป้อนไปข้างหน้า (MLP, feed-forward network)ส่วนในแต่ละชั้นที่ประมวลผลเวกเตอร์ของ token ทีละตัว โดยขยาย ผ่านฟังก์ชันโค้งอย่าง ReLU แล้วย่อกลับ เป็นที่อยู่ของพารามิเตอร์ส่วนใหญ่ในแต่ละชั้น (ราว 2 ใน 3 ในดีไซน์มาตรฐาน และมากกว่านั้นในหลายโมเดลใหม่)ดูคำศัพท์ทั้งหมด: ตารางขยาย d × 4d กับตารางย่อ 4d × d → 8d²
- รวมราว 12d² ต่อชั้น (ไม่นับส่วนน้อยอย่าง bias และค่าของ layer norm)
ถ้ามี L ชั้น:
สเปกของพี่มด: d = 4,096 (32 หัว × หัวละ 128) และ L = 32 ได้ 12 × 4,096² × 32 = 6,442,450,944 ≈ 6.4B
บวกตารางขาเข้าและขาออก (2 × 524.3M จากหน้า 2) อีก 1,048,576,000 ≈ 1B รวม ≈ 7.5B ใกล้ "8B" ในเอกสารแล้ว
พารามิเตอร์ส่วนใหญ่อยู่ในชั้นต่างๆ ราว 12 × (ความยาวเวกเตอร์)² × จำนวนชั้น โดย 2 ใน 3 ของส่วนนี้อยู่ใน MLP

มังคุด
คำนวณได้ 7.5B แต่สเปกบอก 8B แปลว่าผู้ขายปัดเลขเหรอ?