1 คะแนน โดย GN⁺ 2024-02-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

วิธีเพิ่มประสิทธิภาพคิวรีฐานข้อมูล

  • คำอธิบายเกี่ยวกับวิธีทำให้คิวรีฐานข้อมูลทำงานได้เร็วขึ้น

การสร้างโมเดล GPT ด้วย SQL

  • ทฤษฎีและกระบวนการลงมือสร้างโมเดล GPT ด้วย SQL
  • โมเดล GPT คือฟังก์ชันที่รับสตริงข้อความเป็นอินพุต แล้วคืนค่าอาร์เรย์ของสตริงและตัวเลข
  • ฟังก์ชันนี้เป็นแบบกำหนดแน่นอน และจะคืนผลลัพธ์เดิมเสมอสำหรับอินพุตเดียวกัน

ทฤษฎี

  • คำอธิบายสั้น ๆ เกี่ยวกับการทำงานภายในของโมเดล GPT
  • คำอธิบายว่าโมเดลภาษาขนาดใหญ่เชิงกำเนิดคืออะไรในมุมมองเชิงเทคนิค
  • ค่าที่ฟังก์ชันส่งกลับคืออาร์เรย์ของทูเพิลที่แสดงคำถัดไปของพรอมป์ต์และความน่าจะเป็นของคำนั้น

ความหมายของค่า

  • ค่าที่ฟังก์ชันส่งกลับคืออาร์เรย์ของทูเพิลที่ประกอบด้วยคำและตัวเลขที่แสดงความน่าจะเป็นที่คำนั้นจะมาต่อจากพรอมป์ต์

วิธีการสร้างข้อความแบบต่าง ๆ

  • โมเดลภาษาขนาดใหญ่ถูกใช้ในแอปพลิเคชันด้านข้อความ และทำงานโดยเลือกคำที่โมเดลเสนอแล้วนำไปต่อท้ายพรอมป์ต์
  • กระบวนการนี้สร้างข้อความที่สะท้อนทั้งไวยากรณ์ วากยสัมพันธ์ และสติปัญญาพร้อมความสามารถในการให้เหตุผลของภาษามนุษย์

ความหมายของ Generative Pre-trained Transformer

  • "Generative" หมายถึงการสร้างข้อความ และ "Transformer" แสดงว่าใช้โครงข่ายประสาทเทียมประเภทหนึ่งโดยเฉพาะ
  • "Pre-trained" หมายความว่าเดิมทีความสามารถในการต่อข้อความของโมเดลถูกมองว่าเป็นขั้นตอนการฝึกล่วงหน้าสำหรับงานเฉพาะทาง แต่เมื่อโมเดลมีขนาดใหญ่เพียงพอ ก็สามารถทำตามคำสั่งภาษามนุษย์ได้โดยไม่ต้องฝึกเพิ่ม

การสร้างข้อความ

  • คำอธิบายกระบวนการใช้ GPT2 เพื่อสร้างข้อความจากพรอมป์ต์
  • แปลงข้อความเป็นรายการโทเค็น แล้วรันอัลกอริทึมเพื่อคำนวณความน่าจะเป็นของโทเค็นตัวเลือก
  • เลือกโทเค็นถัดไปและเพิ่มเข้าไปในรายการโทเค็น จากนั้นทำซ้ำจนกว่าจะได้คำมากพอ

โทเค็นไนเซอร์

  • กระบวนการแปลงข้อความเป็นรายการตัวเลขก่อนป้อนเข้าสู่โครงข่ายประสาทเทียม
  • GPT2 ใช้รูปแบบดัดแปลงของอัลกอริทึม Byte pair encoding เพื่อสร้างโทเค็นไนเซอร์

การฝังตัวแทน

  • เนื่องจากโทเค็นเป็นตัวแทนของส่วนต่าง ๆ ของภาษามนุษย์ จึงต้องเข้ารหัสความสัมพันธ์ระหว่างโทเค็นที่จำเป็นต่อการเติมข้อความให้สมบูรณ์
  • GPT2 ฝังแต่ละโทเค็นด้วยเวกเตอร์ขนาด 768 มิติ

กลไกความสนใจ

  • คำอธิบายเกี่ยวกับกลไก self-attention ซึ่งเป็นแกนหลักของสถาปัตยกรรม Transformer
  • ทำให้เวกเตอร์ของแต่ละโทเค็นส่งอิทธิพลถึงกัน เพื่อถ่ายทอดคุณลักษณะไปยังเวกเตอร์สุดท้าย

ฟีดฟอร์เวิร์ด

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

บล็อก

  • กระบวนการที่อธิบายไว้ในขั้นตอนก่อนหน้าถูกทำซ้ำผ่านหลายชั้น (บล็อก)
  • เอาต์พุตของแต่ละบล็อกถูกใช้เป็นอินพุตของบล็อกถัดไป

ความเห็นจาก GN⁺

  • บทความนี้มีประโยชน์อย่างมากสำหรับผู้เชี่ยวชาญด้านฐานข้อมูลหรือวิศวกรซอฟต์แวร์ และอาจช่วยให้เข้าใจกระบวนการอันซับซ้อนของการสร้างโมเดล GPT ด้วย SQL ได้ดีขึ้น
  • ด้วยการอธิบายหลักการพื้นฐานและวิธีการสร้างโมเดล GPT ผู้อ่านจะได้มุมมองเชิงลึกเกี่ยวกับวิธีการทำงานของโมเดลภาษา AI
  • แม้บทความนี้จะมีเนื้อหาเชิงเทคนิค แต่ก็เป็นกรณีศึกษาที่น่าสนใจของการบรรจบกันระหว่าง AI กับเทคโนโลยีฐานข้อมูล ซึ่งช่วยให้เข้าใจแนวโน้มล่าสุดของสาขานี้ได้

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

 
GN⁺ 2024-02-25
ความคิดเห็นจาก Hacker News
  • นี่เป็นสิ่งที่งดงามมาก ผู้เขียนบอกว่าก่อนหน้านี้กำลังทำงานวิจัยไปในทิศทางคล้ายกันโดยใช้ SQLite และยังไปไม่ถึงขั้นนำ neural network มาใช้ ได้แรงบันดาลใจจากชุดบรรยาย makemore และหลังจากนั้นประมาณ 1 ชั่วโมงก็เริ่มใช้ neural network ซึ่งก็เป็นระดับเดียวกับที่ผู้เขียนไปถึง การแยกออกตาม relational model เป็นแบบฝึกหัดที่ดีมากจริง ๆ
  • เดโมดี แต่คำอธิบายเรื่อง causal masking ในบทความค่อนข้างชวนสับสน causal masking มีไว้เพื่อป้องกันไม่ให้โมเดล "แอบดู" โทเคนในอนาคตระหว่างการฝึก และในสถาปัตยกรรมแบบ GPT ก็มีไว้เพื่อบังคับลักษณะ autoregressive ระหว่างการอนุมาน ระหว่างการอนุมานนั้นยังไงก็ใช้เฉพาะโทเคนสุดท้ายอยู่แล้ว ดังนั้นโทเคนนี้จะสนใจลำดับอินพุตทั้งหมด จึงแน่นอนว่าโทเคนนี้ไม่ได้ถูกกำหนดด้วย embedding ของโทเคนสุดท้ายเพียงอย่างเดียว
  • สงสัยว่านี่เป็นการอธิบาย GPT driver loop ได้แม่นยำหรือไม่ โค้ดดูเหมือนจะแปลงสตริงเป็นรายการโทเคน รันอัลกอริทึมเพื่อคืนค่าความน่าจะเป็นของโทเคน เลือกโทเคนถัดไปจากรายการตัวเลือก เพิ่มเข้าไปในรายการโทเคน แล้ววนซ้ำโดยตัดสินใจว่าจะหยุดการสร้างหรือไม่ สุดท้ายจึงแปลงรายการโทเคนกลับเป็นสตริงและส่งคืน สิ่งนี้ดูคล้าย state machine ที่ใช้ Shlemiel the painter's algorithm มาก และทำให้ตั้งคำถามถึงต้นทุนการคำนวณที่เป็นธรรมชาติของงานสร้างข้อความ
  • แม้แมชชีนเลิร์นนิงสมัยใหม่จะไม่ได้ต้องการความเป็น Turing-complete แต่ผู้คนก็ยังพิจารณาความเป็นไปได้ของ AGI ถ้าไม่จำเป็นต้องเป็น Turing-complete ก็นับว่าน่าสนใจมากทีเดียว
  • ลิงก์ที่เกี่ยวข้อง: "GPT 60 บรรทัดที่สร้างด้วย NumPy" - กุมภาพันธ์ 2023 (146 ความคิดเห็น)
  • ชอบสิ่งนี้มาก สิ่งที่เมื่อหนึ่งปีก่อนยังดูเหมือนเวทมนตร์บางอย่าง ตอนนี้กลับถูกอธิบายได้ดีมากและแทบจะอธิบายแบบเด็ก ๆ ได้เลย
  • ผมหลีกเลี่ยง GPT และ LLM มาโดยตลอด นี่ดูเหมือนจะสร้างความลื่นไหลของข้อความออกมาได้ระดับหนึ่ง แต่ไม่น่าจะใช้สำหรับการ parse คำถามและตอบคำถามได้ อยากรู้ว่ามันทำงานอย่างไร หรือมีบล็อกโพสต์สั้น ๆ หรือคอร์สการสอนที่เผยให้เห็น toy engine ในภาษาอย่าง Python หรือไม่ เพราะการสอนทั้งหมดที่เคยเห็นจนถึงตอนนี้มุ่งเน้นไปที่วิธีใช้แพลตฟอร์ม
  • นี่ยอดเยี่ยมมาก ในบริบทคล้ายกัน ผู้เขียนคนนี้ยังสร้าง GPT โดยใช้แค่ฟังก์ชันในสเปรดชีตเท่านั้น และมีวิดีโอสอนประกอบด้วย
  • มีมุมมองลึกซึ้งอย่างคาดไม่ถึง และให้คำตอบกับคำถามบางอย่างที่เคยมีในช่วงแรก รวมถึงคำถามเรื่อง "อย่างไร" และ "ทำไม" ด้วย เราเห็นรูปแบบ softmax บ่อยมาก อยากให้คนสอนมันกับผู้คนในฐานะ "argmax ที่หาอนุพันธ์ได้" แทนที่จะโยนสูตรให้ทันที แน่นอนว่ามันไม่ได้มีแค่นั้น แต่ก็มักถูกใช้ในลักษณะนั้น
  • อ่านอยู่เรื่อย ๆ ว่า GPT เป็นเพียง Markov ที่ "ฉลาดกว่า" และ "ซับซ้อนกว่า" ที่คายคำถัดไปออกมาตามความน่าจะเป็นบางอย่าง แต่จากประสบการณ์แล้วนั่นไม่น่าจะจริง มันต้องมีการเรียนรู้ไม่ทางใดก็ทางหนึ่ง ตัวอย่างเช่น ถ้าพูดถึงสิ่งที่เกิดขึ้นวันนี้และขัดแย้งกับอดีต แล้วถามคำถามที่ได้รับผลจากเหตุการณ์นั้น มันก็ตอบได้อย่างถูกต้อง เลยสงสัยว่าประโยคธรรมดา ๆ แบบนั้น (ข้อมูลที่เราให้) สามารถเปลี่ยนความน่าจะเป็นของโทเคนถัดไปที่อยู่ไกลออกไปได้อย่างไร