2 คะแนน โดย GN⁺ 2024-04-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • GPT คือ Transformer ที่ผ่านการฝึกล่วงหน้าด้วยข้อมูลขนาดใหญ่ เพื่อทำนายการแจกแจงความน่าจะเป็นของชิ้นส่วนข้อความถัดไป แล้วสุ่มตัวอย่างซ้ำ ๆ จากการแจกแจงนั้นเพื่อสร้างประโยค
  • โครงสร้างเดียวกันนี้ไม่ได้ใช้แค่กับการสร้างข้อความเท่านั้น แต่ยังใช้กับ การรู้จำเสียงพูด, เสียงสังเคราะห์, การสร้างภาพ และการแปลด้วย โดยที่นี่จะโฟกัสที่การทำนายโทเค็นถัดไป ซึ่งเป็นพื้นฐานของเครื่องมือแบบ ChatGPT
  • ข้อความอินพุตถูกแบ่งเป็นโทเค็นและกลายเป็น เวกเตอร์ embedding จากนั้นผ่านบล็อก attention และบล็อก multilayer perceptron พร้อมซึมซับบริบทรอบข้าง
  • GPT-3 มี พารามิเตอร์ 175,000 ล้านตัว อยู่ในเมทริกซ์ประมาณ 28,000 ชุด โดยเฉพาะ embedding และ unembedding อย่างละประมาณ 617 ล้านน้ำหนัก
  • เวกเตอร์สุดท้ายจะผ่านเมทริกซ์ unembedding และ softmax เพื่อกลายเป็นการแจกแจงความน่าจะเป็นของโทเค็นถัดไป ส่วน temperature ใช้ปรับสมดุลระหว่างความคาดเดาได้กับความหลากหลาย

บทบาทพื้นฐานของ GPT และ Transformer

  • คำสามคำใน GPT หมายถึง Generative, Pretrained, และ Transformer ตามลำดับ
    • Generative หมายถึงการสร้างข้อความใหม่
    • Pretrained หมายถึงการถูกฝึกด้วยข้อมูลมหาศาลก่อน แล้วจึงสามารถปรับให้เหมาะกับงานเฉพาะผ่านการฝึกเพิ่มเติมได้
    • Transformer คือโครงสร้างโครงข่ายประสาทเทียมที่ถูกมองว่าเป็นสิ่งประดิษฐ์สำคัญของกระแส AI ในปัจจุบัน
  • Transformer ถูกใช้ในโมเดลหลายรูปแบบ
    • โมเดลที่รับเสียงเป็นอินพุตแล้วสร้างข้อความถอดเสียง
    • โมเดลที่สร้างเสียงสังเคราะห์จากข้อความ
    • เครื่องมือที่สร้างภาพจากคำบรรยายข้อความอย่าง DALL-E และ Midjourney
    • การแปลด้วยเครื่อง ซึ่งเป็นการใช้งานดั้งเดิมของ Transformer ที่ Google แนะนำครั้งแรกในปี 2017
  • รูปแบบที่กล่าวถึงที่นี่คือ โมเดลทำนายข้อความถัดไป ซึ่งเป็นพื้นฐานของเครื่องมืออย่าง ChatGPT
    • รับข้อความ และในบางกรณีอาจรับภาพหรือเสียงรอบข้างด้วย แล้วทำนายสิ่งที่จะตามมา
    • เอาต์พุตคือการแจกแจงความน่าจะเป็นของชิ้นส่วนข้อความต่าง ๆ ที่อาจตามมา

วิธีที่การทำนายโทเค็นถัดไปกลายเป็นการสร้างข้อความ

  • การทำนายคำถัดไปกับการสร้างข้อความดูเผิน ๆ เหมือนเป็นเป้าหมายคนละอย่าง แต่ถ้าเรียกใช้โมเดลทำนายซ้ำ ๆ ก็สามารถสร้างข้อความยาวได้
    • ป้อนข้อความเริ่มต้นเข้าไป
    • โมเดลสร้างการแจกแจงความน่าจะเป็นของชิ้นส่วนถัดไป
    • สุ่มตัวอย่างจากการแจกแจงนั้นแล้วนำไปต่อท้ายข้อความ
    • ป้อนข้อความใหม่ทั้งหมดกลับเข้าไป แล้วทำกระบวนการเดิมซ้ำ
  • หากรัน GPT-2 บนโน้ตบุ๊กด้วยวิธีเดียวกัน จะมีตัวอย่างที่เรื่องราวไม่ค่อยต่อเนื่องกัน
  • เมื่อเปลี่ยนไปใช้ GPT-3 API ที่ขยายโครงสร้างพื้นฐานเดียวกันให้ใหญ่ขึ้น ก็สามารถสร้างเรื่องราวที่ดูสมเหตุสมผลกว่าได้
  • กระบวนการที่ ChatGPT และโมเดลภาษาขนาดใหญ่อื่น ๆ สร้างคำตอบทีละคำ โดยแก่นแล้วก็คือ การทำนายและการสุ่มตัวอย่างซ้ำ ๆ
  • จุดเริ่มต้นง่าย ๆ สำหรับทำเป็นแชตบอตคือการจัดสถานการณ์การสนทนาให้อยู่ในรูปข้อความ
    • ใส่ system prompt ที่กำหนดว่า AI assistant ที่เป็นประโยชน์กำลังโต้ตอบกับผู้ใช้
    • ใส่คำถามของผู้ใช้เป็นชิ้นส่วนแรกของบทสนทนา
    • ให้โมเดลทำนายว่า assistant แบบนั้นจะพูดต่อว่าอะไร
    • เพื่อให้วิธีนี้ทำงานได้ดี จำเป็นต้องมีขั้นตอนการฝึกเพิ่มเติม

การไหลของข้อมูลภายใน Transformer

  • อินพุตถูกแบ่งเป็นชิ้นเล็ก ๆ เรียกว่า โทเค็น
    • ในข้อความ โทเค็นอาจเป็นคำ ส่วนหนึ่งของคำ หรือชุดอักขระที่พบบ่อย
    • หากมีภาพหรือเสียงรวมอยู่ด้วย แพตช์ของภาพหรือชิ้นส่วนเสียงก็อาจเป็นโทเค็นได้
  • โทเค็นแต่ละตัวเชื่อมกับ เวกเตอร์ ซึ่งเป็นรายการตัวเลข
    • เวกเตอร์นี้เข้ารหัสความหมายของชิ้นส่วนนั้นในรูปแบบใดรูปแบบหนึ่ง
    • หากมองเป็นพิกัดในปริภูมิมิติสูง คำที่มีความหมายคล้ายกันมักมีแนวโน้มจะอยู่ใกล้กันในรูปเวกเตอร์
  • ลำดับของเวกเตอร์จะผ่าน บล็อก attention ก่อน
    • บล็อก attention ทำให้เวกเตอร์แลกเปลี่ยนข้อมูลกันและอัปเดตค่าของตนเองได้
    • จัดการความหมายที่เปลี่ยนตามบริบท เช่นคำว่า model ใน “a machine learning model” กับ model ใน “a fashion model”
    • รับผิดชอบว่าคำใดเกี่ยวข้องกับการอัปเดตความหมายของคำอื่นมากน้อยเพียงใด และจะอัปเดตอย่างไร
  • จากนั้นเวกเตอร์จะผ่านบล็อกที่เรียกว่า multilayer perceptron หรือ feed-forward layer
    • ในขั้นตอนนี้เวกเตอร์จะไม่สื่อสารกัน แต่ผ่านการคำนวณแบบเดียวกันแบบขนาน
    • เปรียบได้กับการถามรายการคำถามยาว ๆ กับเวกเตอร์แต่ละตัว แล้วอัปเดตตามคำตอบ
  • เครือข่ายทั้งหมดทำซ้ำบล็อก attention และบล็อก multilayer perceptron
    • ระหว่างกลางยังมีขั้นตอน normalization ด้วย แต่ละไว้ในภาพรวมระดับสูง
    • ในตอนท้ายคาดหวังว่าใจความสำคัญของประโยคจะถูกบรรจุอยู่ในเวกเตอร์ตัวสุดท้ายของลำดับ
    • ใช้เวกเตอร์สุดท้ายนั้นเพื่อสร้างการแจกแจงความน่าจะเป็นของโทเค็นถัดไปทั้งหมดที่เป็นไปได้

รูปแบบของดีปเลิร์นนิงและขนาดพารามิเตอร์ของ GPT-3

  • ดีปเลิร์นนิงคือแนวทางของแมชชีนเลิร์นนิงที่ใช้ข้อมูลกำหนดพฤติกรรมของโมเดล
    • ใช้กับปัญหาที่ต้องการสัญชาตญาณและการจดจำรูปแบบ เช่น การสร้างป้ายกำกับจากภาพ หรือการทำนายคำถัดไปหลังข้อความ
    • แทนที่จะระบุขั้นตอนเป็นโค้ดเหมือน AI ยุคแรก ๆ จะสร้างโครงสร้างที่ยืดหยุ่นพร้อมพารามิเตอร์ที่ปรับได้ แล้วปรับค่าจากข้อมูลตัวอย่าง
  • การถดถอยเชิงเส้นเป็นตัวอย่างแมชชีนเลิร์นนิงที่ง่ายที่สุด
    • ใช้กับกรณีที่อินพุตและเอาต์พุตต่างเป็นตัวเลขเดียว เช่น พื้นที่บ้านกับราคา
    • หาเส้นตรงที่เหมาะสมที่สุดด้วยพารามิเตอร์ต่อเนื่องสองตัว คือความชันและจุดตัดแกน y
  • GPT-3 ไม่ได้มีสองตัว แต่มี พารามิเตอร์ 175,000 ล้านตัว
    • โมเดลขนาดมหึมาแบบนี้อาจ overfit กับข้อมูลฝึก หรืออาจฝึกไม่ได้เลย
    • โมเดลดีปเลิร์นนิงถูกมองว่าเป็นตระกูลโมเดลที่ได้รับการพิสูจน์ในช่วงหลายทศวรรษล่าสุดว่าสเกลได้ดี
    • อัลกอริทึมการฝึกร่วมที่เชื่อมตระกูลนี้เข้าด้วยกันคือ backpropagation
  • เพื่อให้ backpropagation ทำงานได้ดีในสเกลใหญ่ โมเดลต้องเป็นไปตามรูปแบบบางอย่าง
    • อินพุตต้องแทนด้วยอาร์เรย์ของจำนวนจริง
    • อาร์เรย์จะผ่านหลายเลเยอร์และถูกแปลงเป็นอาร์เรย์ของจำนวนจริงแบบอื่นต่อเนื่องกัน
    • เลเยอร์สุดท้ายของโมเดลข้อความคือรายการตัวเลขที่แทนการแจกแจงความน่าจะเป็นของโทเค็นถัดไปทั้งหมดที่เป็นไปได้
  • พารามิเตอร์ของดีปเลิร์นนิงโดยทั่วไปเรียกว่า น้ำหนัก
    • วิธีที่น้ำหนักมีปฏิสัมพันธ์กับข้อมูลคือผลรวมถ่วงน้ำหนัก
    • มีฟังก์ชันไม่เชิงเส้นแทรกอยู่ระหว่างกลางด้วย แต่ไม่ได้ขึ้นกับพารามิเตอร์
    • การแทนจริงมักรวบเป็นการคูณเมทริกซ์-เวกเตอร์ มากกว่าการเปิดเผยผลรวมถ่วงน้ำหนักโดยตรง
  • น้ำหนัก 175,000 ล้านตัวของ GPT-3 ถูกจัดอยู่ใน เมทริกซ์ประมาณ 28,000 ชุด
    • เมทริกซ์เหล่านี้แบ่งเป็น 8 หมวด
    • น้ำหนักของโมเดลคือ “สมอง” ที่ได้จากการฝึก ส่วนข้อมูลที่ถูกประมวลผลในการรันหนึ่งครั้งคือการเข้ารหัสกรณีเฉพาะ เช่น ข้อความอินพุต

Embedding, ขนาดบริบท และการแจกแจงความน่าจะเป็นของเอาต์พุต

  • ขั้นแรกคือการแบ่งข้อความอินพุตเป็นโทเค็น แล้วแปลงแต่ละโทเค็นเป็นเวกเตอร์
    • โทเค็นจริงอาจเป็นส่วนหนึ่งของคำหรือเครื่องหมายวรรคตอน แต่ในคำอธิบายจะมองเหมือนเป็นคำเพื่อให้เข้าใจง่าย
    • โมเดลมี vocabulary หรือรายการโทเค็นที่เป็นไปได้ไว้ล่วงหน้า
  • เมทริกซ์ embedding กำหนดว่าแต่ละโทเค็นจะถูกแปลงเป็นเวกเตอร์ใด
    • เขียนแทนด้วย W_E
    • ค่าเริ่มจากการสุ่ม แต่ถูกกำหนดด้วยการฝึกจากข้อมูล
    • ขนาด vocabulary ของ GPT-3 คือ 50,257 และมิติ embedding คือ 12,288
    • เมื่อนำสองค่านี้คูณกัน เมทริกซ์ embedding จะมีน้ำหนักประมาณ 617 ล้านตัว
  • word embedding สามารถมองเป็นจุดในปริภูมิมิติสูงได้
    • คำที่มีความหมายคล้ายกันมักมีแนวโน้มอยู่ใกล้กัน
    • เมื่อการฝึกดำเนินไป embedding มีแนวโน้มจะจัดวางโดยทิศทางต่าง ๆ ในปริภูมิมีความหมาย
    • มีตัวอย่างความสัมพันธ์ woman - man กับ king - queen และ Italy - Germany + Hitler เข้าใกล้ Mussolini
    • ในตัวอย่าง queen ยังกล่าวถึงข้อควรระวังด้วยว่า embedding ของ queen จริง ๆ อาจอยู่ไกลกว่าการเป็น king รูปเพศหญิงแบบง่าย ๆ
  • dot product เป็นวิธีวัดว่าเวกเตอร์สองตัวจัดแนวกันมากเพียงใด
    • หากอยู่ทิศทางเดียวกันจะเป็นบวก หากตั้งฉากกันจะเป็น 0 และหากอยู่ทิศทางตรงข้ามจะเป็นลบ
    • ใช้ dot product ทดสอบสมมติฐานว่า cats - cat อาจเป็นทิศทางที่แทนความเป็นพหูพจน์
    • ค่าของคำนามพหูพจน์มีแนวโน้มสูงกว่าคำนามเอกพจน์
    • ยังมีกรณีที่ dot product กับคำอย่าง one, two, three ให้ค่าที่เพิ่มขึ้นด้วย
  • เวกเตอร์ของ Transformer ต้องไม่เพียงแทนคำคำเดียว แต่ต้องสามารถ ซึมซับบริบท ได้ด้วย
    • เวกเตอร์ที่สร้างขึ้นตอนแรกมีเพียงความหมายของโทเค็นเดี่ยวที่ได้จากเมทริกซ์ embedding
    • เป้าหมายคือเมื่อผ่านเครือข่ายแล้ว จะบรรจุความหมายที่เฉพาะเจาะจงยิ่งขึ้นโดยสะท้อนทั้งคำรอบข้างและบริบทที่อยู่ไกลออกไป
    • context size ของ GPT-3 คือ 2048 ซึ่งถูกฝึกให้ประมวลผลเวกเตอร์ 2048 ตัวในครั้งเดียว
    • ขนาดบริบทนี้จำกัดความยาวของข้อความที่โมเดลสามารถนำมาพิจารณาเมื่อทำนายคำถัดไป
    • สิ่งนี้เชื่อมโยงกับสาเหตุที่แชตบอตอย่าง ChatGPT รุ่นแรก ๆ ให้ความรู้สึกว่าสูญเสียบริบทในการสนทนายาว ๆ
  • ขั้นตอนสุดท้ายคือการสร้างการแจกแจงความน่าจะเป็นของโทเค็นถัดไป
    • นำเวกเตอร์ตัวสุดท้ายของบริบทสุดท้ายไปคูณกับ เมทริกซ์ unembedding W_U เพื่อสร้างรายการตัวเลขที่มีขนาดเท่า vocabulary
    • องค์ประกอบแต่ละตัวของเอาต์พุตดิบนี้เรียกว่า logit ของการทำนายคำถัดไป
    • W_U มีแถวที่สอดคล้องกับโทเค็นแต่ละตัวใน vocabulary และความยาวของแต่ละแถวเท่ากับมิติ embedding
    • สำหรับ GPT-3 แล้ว W_U เพิ่มพารามิเตอร์อีกประมาณ 617 ล้านตัวเช่นกัน
    • เมื่อรวม embedding และ unembedding พารามิเตอร์สะสมจะเกิน 1,000 ล้านตัวเล็กน้อย
  • softmax แปลงรายการตัวเลขใด ๆ ให้เป็นการแจกแจงความน่าจะเป็นที่ถูกต้อง
    • แต่ละค่าต้องอยู่ระหว่าง 0 ถึง 1 และผลรวมทั้งหมดต้องเท่ากับ 1
    • ยกกำลัง e สำหรับตัวเลขอินพุตแต่ละตัวเพื่อให้เป็นบวก แล้วหารด้วยผลรวมทั้งหมดเพื่อ normalize
    • ค่าอินพุตที่มากจะได้ความน่าจะเป็นสูงใกล้ 1 ส่วนค่าที่น้อยจะเข้าใกล้ 0
    • วิธีนี้นุ่มนวลกว่าการเลือกเฉพาะค่าสูงสุด ทำให้ค่าที่สูงใกล้เคียงกันยังได้รับความน่าจะเป็นที่มีความหมายได้
  • temperature ใช้ปรับความแหลมของการแจกแจง softmax
    • ถ้า T สูง ค่าต่ำ ๆ จะได้รับน้ำหนักมากขึ้น ทำให้การแจกแจงสม่ำเสมอขึ้น
    • ถ้า T ต่ำ ค่าสูงจะครอบงำมากขึ้น
    • T=0 คือกรณีสุดขั้วที่น้ำหนักทั้งหมดไปรวมอยู่ที่ค่าสูงสุด
    • ที่ temperature 0 จะเลือกคำที่คาดเดาได้มากที่สุดเสมอ และในตัวอย่างจะสร้างเรื่องราวจำเจแบบ Goldilocks
    • temperature ที่สูงขึ้นเปิดโอกาสให้เลือกคำที่มีความเป็นไปได้น้อยกว่า แต่ในตัวอย่างเรื่องเริ่มอย่างสร้างสรรค์ขึ้นก่อนจะกลายเป็นไร้ความหมายอย่างรวดเร็ว
    • API ไม่อนุญาตให้ตั้ง temperature มากกว่า 2 ซึ่งไม่ใช่เหตุผลทางคณิตศาสตร์ แต่เป็นข้อจำกัดตามอำเภอใจเพื่อกันไม่ให้เครื่องมือสร้างผลลัพธ์ที่ไร้ความหมายเกินไป

1 ความคิดเห็น

 
GN⁺ 2024-04-02
ความคิดเห็นบน Hacker News
  • ถ้ามีใครรู้ว่า GPT ทำงานอย่างไร มีเรื่องหนึ่งที่อยากถาม เดิมคิดว่าโมเดลพวกนี้เลือก คำถัดไปที่น่าจะเป็นไปได้มากที่สุด แต่ถ้าเลือก “หนึ่งในคำที่น่าจะเป็นไปได้” มันอาจนำไปสู่สถานการณ์ที่รายการคาดการณ์คำถัดไปหลังจากนั้นมีความเป็นไปได้น้อยลงมากหรือเปล่า
    ถ้าคำนวณได้ ดูเหมือนว่าการนำ “สองคำรวมกัน” มาเป็นตัวเลือก แล้วขยายต่อไปเป็น 3, 4, n คำ น่าจะได้เปรียบกว่า เลยสงสัยว่ามีวิธีแบบนี้ไหม
    หลังจากดูวิดีโอและอ่านคอมเมนต์แล้ว จึงได้รู้ว่านี่คือ beam search และใช้ร่วมกับ temperature ที่ควบคุมพฤติกรรมแบบนี้

    • ในทางปฏิบัติ beam search ดูเหมือนจะทำงานได้ไม่ดีนักกับโมเดล生成
      temperature กับ top_k เป็นพารามิเตอร์ที่ค่อนข้างคล้ายกัน และถูกนำมาใช้เพื่อสะท้อนว่าประโยคแต่ละประโยคที่มนุษย์พูดนั้นคาดเดาไม่ได้ในเชิงความน่าจะเป็น นี่คือตัวอย่างที่ทำซ้ำกราฟเก่าจากเอกสาร Hugging Face ปี 2018/2019 ในลักษณะคล้ายกันเมื่อปี 2021: https://lilianweng.github.io/posts/2021-01-02-controllable-t...
      beam search ที่มีความยาวมากกว่านี้มากอาจดีกว่า หรือวิธีที่ผสมหลายเทคนิคเข้าด้วยกันอาจใช้ได้ดี แต่ผมไม่คิดว่าเป็นเช่นนั้น ส่วน query-key-value ของ Transformer นั้นในหลายแง่มุมจะโฟกัสไปที่ผลรวมเดียวในความสัมพันธ์กับบริบททั้งหมด ตัวสถาปัตยกรรมเองไม่ได้ถูกปรับให้เข้ากับหน่วยที่ยาวกว่าแบบนี้ และก็ไม่มีระบบพื้นฐานแบบ “สองโทเค็น”
      ถ้าโทเค็นของโมเดล GPT ส่วนใหญ่มี 50,000–100,000 ตัว ก็จะต้องดูพารามิเตอร์มากขึ้นมากอย่าง 50,000*50,000 และยังเกิดปัญหาความเบาบางของข้อมูลด้วย ต่อให้ยังไม่คิดถึงความซับซ้อนในการฝึก องค์ประกอบจำนวนมากของโมเดล GPT ก็เน้นไปที่การดึงความมั่งคั่งของโทเค็นเดี่ยวหรือดัชนีโทเค็นเดี่ยวมากเกินไป จึงยากจะมองว่าออกแบบมาให้เหมาะกับ beam search แบบนี้
    • การตั้งค่า temperature กำหนดว่าโทเค็นที่หายากแค่ไหนจะยังมีโอกาสเป็นโทเค็นถัดไปได้ ถ้าเป็น 0 จะเลือกตัวบนสุดของรายการความน่าจะเป็น และถ้ามากกว่า 0 โทเค็นที่มีความน่าจะเป็นต่ำกว่าก็อาจถูกเลือกได้
    • ใช่ นี่เป็นจุดอ่อนพื้นฐานของ โมเดลภาษาขนาดใหญ่ พื้นที่ค้นหาเติบโตแบบเอ็กซ์โปเนนเชียล ดังนั้นน่าเสียดายที่อาจแก้ไม่ได้
      เทคนิคอย่าง beam search ช่วยได้ก็จริง แต่เพิ่มได้เพียงการปรับปรุงระดับตัวคูณคงที่เท่านั้น ถึงอย่างนั้น โมเดลภาษาขนาดใหญ่ก็ยังมาถึงสมรรถนะในปัจจุบันได้แม้มีข้อจำกัดเหล่านี้
    • วิธีแบบนี้มีอยู่จริง ระบบที่ใช้งานจริงแทบไม่ใช้ greedy search และใช้ อัลกอริทึมค้นหาแบบองค์รวม มากกว่า
      ตัวอย่างคือ beam search: https://www.width.ai/post/what-is-beam-search
      โดยสาระสำคัญคือการคงหน้าต่างความน่าจะเป็นของโทเค็นที่คาดการณ์ไว้ เพื่อยกระดับคุณภาพของผลลัพธ์สุดท้าย
    • การจัดการ “คำรวมกัน” โดยพื้นฐานแล้วคือ chunking หรืออย่างน้อยก็ใกล้เคียงกับจุดเริ่มต้นของมัน สิ่งที่น่าประทับใจคือการบวกและลบ embedding เวกเตอร์ของคำแต่ละคำแล้วได้ผลลัพธ์ที่มีความหมาย
      ถ้า chunk เป็นบล็อกที่ใหญ่ขึ้น กระบวนการทั้งหมดนี้จะถูกผสมเข้าด้วยกัน และสามารถทำสิ่งเดียวกันในพื้นที่เชิงแนวคิดได้ เช่น หากใช้วิธีมาตรฐานอย่าง sentence embedding มันก็จะกลายเป็นบล็อกงานสำหรับการเปรียบเทียบ
  • นึกไม่ออกเลยว่าจะมีใครเหมาะไปกว่านี้ในการสอน กลไก attention ให้คนทั่วไป เหมือนฝันเป็นจริง

    • ยอดเยี่ยมมาก ซีรีส์ 3B1B นี้เริ่มเมื่อ 6 ปีก่อน และตอนนี้มาถึงบทที่ 5 แล้ว
      ถ้ายังไม่ได้ดูบทก่อน ๆ ขอแนะนำอย่างยิ่งจริง ๆ
  • ถ้าชอบสิ่งนี้ ช่องของ Andrej Karpathy ก็มีวิดีโอน่าสนใจที่อธิบาย neural network และการทำงานภายใน เหมาะสำหรับคนที่รู้การเขียนโปรแกรม

    • ในฐานะโปรแกรมเมอร์ที่มีประสบการณ์พอสมควรและเคยดูวิดีโอของ Andrej ผมแนะนำให้ใช้เพื่อ เสริมความเข้าใจหลังจากรู้พื้นฐานแล้ว หรือเพื่อขยายความ มากกว่าจะใช้เป็นจุดเริ่มต้นในการเรียน neural network
      ผมเองก็กระโดดเข้าไปแบบไม่รู้อะไร และแม้เขาจะแนะนำให้ดูวิดีโอก่อนหน้า ผมก็คิดผิดไปเองว่าจะเข้าใจได้ขณะดู มีคำศัพท์ที่จำเป็นต้องรู้จริง ๆ ถึงจะเก็บเกี่ยวได้เต็มที่
      พอยอมถอยไปเรียนอย่างอื่นเพื่อเติมช่องว่าง แล้วกลับมาดูอีกครั้ง วิดีโอของเขาก็มีคุณค่ามากขึ้นอย่างชัดเจน ถ้าใครจะเรียน neural network ผมขอแนะนำอย่างยิ่งให้เรียนรู้จากความผิดพลาดของผม
  • เป็นยาแก้พิษที่ดีอย่างไม่น่าเชื่อท่ามกลางคอนเทนต์วันเมษาหน้าโง่ อยากฉีดเข้ากระแสเลือดโดยตรงเลย

  • ที่เกี่ยวข้องกัน ภาพแสดงผลแบบอินเทอร์แอกทีฟ นี้ก็น่าดู: https://bbycroft.net/llm
    การสนทนาก่อนหน้า: https://news.ycombinator.com/item?id=38505211

  • 3B1B เป็นหนึ่งใน ผู้สอน STEM ที่ดีที่สุดบน YouTube

  • เขาบอกว่าโทเค็นถัดไปได้มาจากการ สุ่มตัวอย่าง logits ของคอลัมน์สุดท้ายหลัง unembedding แล้วถ้าอย่างนั้นมันไม่ใช่แค่เอาโทเค็นสุดท้ายกลับมาอีกครั้งหรือ? หรือมีขั้นตอนไหนที่ขนาดเมทริกซ์เปลี่ยนเป็น N+1?

    • ที่ท้ายลำดับอินพุตจะมี โทเค็นสิ้นสุดลำดับ ต่อท้าย และสิ่งนี้จะถูกแปลงเป็นโทเค็นถัดไปที่คาดการณ์ไว้
  • รอวิดีโอถัด ๆ ไปอยู่ ครั้งนี้รู้สึกว่าในที่สุดผมอาจจะเข้าใจและซึมซับได้ว่าสิ่งเหล่านี้ทำงานอย่างไร