1 คะแนน โดย GN⁺ 2024-06-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • σ-GPT แยกลำดับ การป้อนข้อมูล ออกจากลำดับการสร้างแบบอัตถถดถอย ทำให้ Transformer สามารถเรียนรู้และสร้างซีเควนซ์ได้แม้ในลำดับที่ถูกสลับแบบสุ่ม
  • โมเดลอัตถถดถอยแบบเดิมมักทำตามการจัดเรียงตามธรรมชาติ เช่น ลำดับข้อความแบบ ซ้ายไปขวา หรือลำดับ raster scan ของภาพ แต่ทั้งสองลำดับนี้ไม่จำเป็นต้องเหมือนกันเสมอไป
  • สำหรับแต่ละตัวอย่าง จะเลือกลำดับสับเปลี่ยนแบบสุ่ม σ ขึ้นมาทันที แล้วเพิ่ม positional encoding สองชุดที่สอดคล้องกับลำดับอินพุตและเอาต์พุตเพื่อให้กระบวนการอัตถถดถอยคงความสอดคล้อง
  • ในทุกช่วงของการสร้าง โมเดลสามารถประมาณ conditional distribution ของโทเค็นที่เหลืออยู่ได้ จึงขยายไปสู่การสุ่มตัวอย่างจากตำแหน่งใดก็ได้ การสร้างแบบมีเงื่อนไขตามอำเภอใจ การทำ infilling และ burst sampling
  • เมื่อใช้ curriculum learning ร่วมกัน จะสามารถไปถึงประสิทธิภาพใกล้เคียงกับโมเดลอัตถถดถอยแบบซ้ายไปขวา และใช้ rejection sampling ระดับโทเค็นเพื่อสร้างหลายโทเค็นเป็นชุดแบบ burst ได้

การแยกลำดับอินพุตออกจากลำดับการสร้าง

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

สถาปัตยกรรมและการทำงานของ σ-GPT

  • σ-GPT สามารถเลือกลำดับสับเปลี่ยนแบบสุ่ม σ สำหรับแต่ละตัวอย่างได้แบบทันที
  • σ ที่เลือกจะสร้างลำดับอินพุต 0, σ(1), σ(2), ... และลำดับเอาต์พุต σ(1), σ(2), σ(3), ...
    • ฝั่งอินพุตจะเติม padding 0 ไว้ก่อนเพื่อให้จำนวนโทเค็นคงที่อย่างสอดคล้อง
    • จากนั้นโทเค็นจะถูกสลับตามลำดับดังกล่าว
  • อินพุตของโมเดลจะเชื่อมกับ positional encoding สองชุด
    • ชุดหนึ่งสอดคล้องกับลำดับอินพุต
    • อีกชุดหนึ่งสอดคล้องกับลำดับเอาต์พุต
  • เอาต์พุตจะถูกจัดกลับไปเป็นลำดับจริงในตอนท้าย
  • เปิดเผยโค้ดแล้ว: https://github.com/idiap/sigma-gpt

การเปรียบเทียบกับ GPT มาตรฐานและ diffusion model

  • σ-GPT ถูกนำไปเปรียบเทียบกับ GPT ซึ่งเป็น standard causal transformer encoder และ diffusion model
  • ความสามารถที่รองรับมีดังนี้
    • การสุ่มตัวอย่างโทเค็น จากตำแหน่งใดก็ได้ในซีเควนซ์
    • การทำโมเดลความหนาแน่นของส่วนที่เหลือตามซีเควนซ์ที่ถูกสุ่มตัวอย่างไปบางส่วน
    • การสร้างแบบมีเงื่อนไขตามอำเภอใจ
    • infilling
    • burst sampling ที่สร้างหลายโทเค็นพร้อมกัน
    • การฝึก log-likelihood ด้วย cross-entropy
  • ในการเปรียบเทียบ GPT มาตรฐานสามารถทำการสร้างแบบมีเงื่อนไขตามอำเภอใจและการฝึก log-likelihood ได้ แต่ไม่รองรับการสุ่มตัวอย่างจากตำแหน่งใดก็ได้ การประมาณ conditional density การทำ infilling และ burst sampling
  • diffusion model รองรับ burst sampling แต่ในการเปรียบเทียบถือว่าไม่รองรับการฝึก log-likelihood

conditional distribution ระหว่างการสร้างและ rejection sampling

  • เมื่อออกนอกลำดับอัตถถดถอยมาตรฐาน โมเดลจะสามารถทำนายโทเค็นตามลำดับที่กำหนดเฉพาะได้
  • ในแนวทางนี้ โมเดลสามารถทำนาย conditional distribution ของโทเค็นที่เหลืออยู่ได้ในทุกช่วงของการสร้าง
  • การประมาณ conditional distribution ถูกใช้เพื่อวัดปริมาณผลลัพธ์การสร้างที่เป็นไปได้ในแต่ละช่วง
  • เมื่อนำสิ่งนี้ไปใช้กับ rejection sampling จะสามารถสร้างซีเควนซ์เป็นชุดแบบ burst ด้วยจำนวนขั้นตอนที่เปลี่ยนแปลงได้แบบไดนามิก

งานประเมินและผลงานที่มีส่วนร่วม

  • σ-GPT นำเสนอ shuffled autoregression และประเมินว่าสามารถยกระดับประสิทธิภาพของโมเดลพื้นฐานได้หรือไม่เมื่อผสานกับแนวทาง curriculum
  • งานที่ใช้ประเมินมี 3 งานหลัก
    • การสร้างข้อความแบบเปิด
    • การแก้ปัญหาเส้นทาง
    • การพยากรณ์ความเร็วแนวดิ่งของอากาศยาน
  • ผลงานหลักสรุปได้ 4 ข้อ
    • นำเสนอสถาปัตยกรรม σ-GPT ที่มี positional encoding สองชุดซึ่งสอดคล้องกับลำดับอินพุตและลำดับเอาต์พุตตามลำดับ
    • แสดงให้เห็นว่าเมื่อใช้ curriculum learning จะไปถึงประสิทธิภาพใกล้เคียงกับโมเดลอัตถถดถอยแบบซ้ายไปขวาได้
    • แสดงให้เห็นว่าการสร้างตัวอย่างตามลำดับแบบสุ่มทำให้สามารถสร้างแบบมีเงื่อนไขกับส่วนใดก็ได้ของซีเควนซ์
    • นำเสนอวิธี rejection sampling ระดับโทเค็นสำหรับการสร้างตัวอย่างเป็นชุดแบบ burst

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

 
GN⁺ 2024-06-09
ความคิดเห็นจาก Hacker News
  • ดูน่าสนใจมาก ตอนฝึกจะสุ่มสลับโทเค็นขาเข้า แล้วใส่ การเข้ารหัสตำแหน่งสองชนิด ให้แต่ละโทเค็น: อันหนึ่งคือตำแหน่งของโทเค็นนั้น อีกอันคือตำแหน่งของโทเค็นที่จะทำนาย
    นอกเหนือจากนั้นก็คือ GPT แบบออโตรีเกรสซีฟมาตรฐาน แต่ผลของการเปลี่ยนแปลงที่ดูเรียบง่ายนี้ใหญ่มาก ถ้าให้บางส่วนของลำดับกับโมเดลที่ฝึกแล้วเป็นพรอมป์ต์ ก็สามารถถอดรหัสโทเค็นที่หายไปทั้งหมดแบบขนานได้โดยไม่ขึ้นกับลำดับ และยังคำนวณความหนาแน่นความน่าจะเป็นแบบมีเงื่อนไขของโทเค็นที่หายไปทั้งหมดแบบขนานได้ด้วย
    อีกทั้งผู้เขียนยังเสนอวิธีสร้างแบบเติมช่องว่างขนานที่อิง rejection sampling และดูเหมือนว่าจะใช้งานได้ดีจริง

    • การตั้งปัญหาแบบนี้มีมานานพอสมควรแล้ว และเป็นเหมือนจอกศักดิ์สิทธิ์ของงานด้านการสร้างแบบจำลองอยู่พักใหญ่ ส่วนที่ดูใหม่เมื่อเทียบกับสาย PixelCNN คือ แนวคิดเรื่องตำแหน่ง embedding
    • ยังไม่ค่อยเข้าใจว่าการทำนายแบบขนานนั้นทำได้อย่างไร เช่น ถ้าอินพุตคือ I . . . . . . . . happily. คำที่สองที่ต้องทำนายน่าจะขึ้นกับคำแรกไม่ใช่หรือ
    • ถ้าทำได้จริงนี่สุดยอดมาก และเหมือนการค้นพบเจ๋ง ๆ หลายอย่าง พอได้ยินแล้วก็รู้สึกว่า “อ้อ พอพูดแบบนี้มันก็สมเหตุสมผลดีนี่”
    • BERT เดิมทีก็ทำ non-causal masking หรือก็คือการทำนายคำตรงกลางอยู่แล้วไม่ใช่หรือ
    • รู้ว่านี่มีไว้สำหรับโทเค็น/ข้อความ แต่ก็สงสัยว่าแนวคิดเดียวกันนี้จะเอาไปใช้กับภาพในแบบ diffusion model ได้ไหม ถ้าได้ อาจใช้การเติมช่องว่างเพื่ออัปสเกลภาพเป็นขนาดตามต้องการได้หรือเปล่า
  • ของเก่า[1] กลับมาเป็นของใหม่อีกครั้ง แต่ไม่มีการอ้างอิงงานก่อนหน้า ทั้งที่ไม่ใช่งานที่ไม่มีใครรู้จัก ตีพิมพ์ใน ICML และมีการอ้างอิงราว 250 ครั้งแล้ว
    [1]: https://arxiv.org/abs/1902.03249

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

    • กระบวนการที่อธิบายมานั้นเรียกว่า diffusion
  • มีวิดีโอบน Twitter ที่แสดงการสร้างข้อความ ดูคล้ายการแพร่แบบภาพนิดหน่อย
    https://x.com/ArnaudPannatier/status/1799055129829839166

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

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

    • อาจจะช้าเกินไปก็ได้ แต่ดูเหมือนว่าจะรวมการ lint หรือการตรวจไวยากรณ์เข้าเป็นส่วนหนึ่งของ rejection sampling ได้ เช่น สุ่มตัวอย่างชิ้นโค้ดผู้สมัครจำนวนมาก N ชิ้นแบบขนาน แล้วทิ้งชิ้นที่ผิดไวยากรณ์
  • เป็นงานวิจัยที่น่าสนใจ แนวทางแบบ permutation ที่คล้ายกันมีอยู่แล้วในงาน Taylorformer (https://arxiv.org/pdf/2305.19141v1)
    ผู้เขียนใช้ Transformer decoder กับกระบวนการต่อเนื่องอย่างข้อมูลอนุกรมเวลา และสุ่มสลับแต่ละลำดับระหว่างการฝึก แต่ละองค์ประกอบของลำดับมีการเข้ารหัสตำแหน่ง และใช้ log-likelihood กับลำดับที่ถูกสลับ
    ตรงนั้น permutation ช่วยเรื่องการทำนาย interpolation, extrapolation, ข้อมูลที่สุ่มตัวอย่างไม่สม่ำเสมอ และยังดูเหมือนช่วยเรื่อง “ความสอดคล้อง” ที่ทำให้ค่า mean squared error โดยรวมใกล้เคียงกันไม่ว่าลำดับการสร้างจะเป็นแบบไหน
    เลยสงสัยว่างานนี้เพิ่มอะไรให้กับความเข้าใจหรือการประยุกต์ใช้แนวคิดนี้บ้าง ไอเดียเรื่องการสลับลำดับก็มีในงาน Transformer Neural Process เช่นกัน: https://arxiv.org/pdf/2207.04179

  • นี่เหมือนเป็นการนำสิ่งที่เรียนรู้จาก vision Transformer มาใช้กับ language Transformer หรือเปล่า
    เท่าที่ผมเข้าใจ โมเดลภาพจะแบ่งภาพออกเป็นไทล์ แล้วใส่ การเข้ารหัสตำแหน่ง ให้แต่ละไทล์เพื่อให้โมเดลเข้าใจตำแหน่งสัมพัทธ์ของแต่ละส่วน
    พูดตามตรงผมอ่านแค่บทคัดย่อและหลายส่วนก็ยากมาก แต่งานนี้ดูเหมือนเสนอแนวคิดคล้ายกันใน 1D แทน 2D

    • การเข้ารหัสตำแหน่งเป็นมาตรฐานของ Transformer ทุกประเภทอยู่แล้ว สิ่งที่ดูใหม่ที่นี่คือการเพิ่ม รูปแบบการเข้ารหัสตำแหน่งแบบซ้ำซ้อน
      การฝึกจะยากขึ้น แต่ดูเหมือนทำให้สร้างหลายโทเค็นพร้อมกันได้ กล่าวคือ ได้คำตอบยาว N โทเค็นใน N/x ขั้นแทนที่จะเป็น N ขั้น
  • สงสัยว่ามีโค้ดหรือไม่ ผมยังไม่เข้าใจเรื่อง ตำแหน่งคู่และการสลับ แบบถ่องแท้ และก็สนใจที่เขาเอาค่าตำแหน่งมาต่อกันแทนที่จะบวกเข้าไปด้วย

  • ถ้าเป็น Yann LeCun เขาคงบอกว่าปัญหาอยู่ที่ความเป็นออโตรีเกรสซีฟเอง และการเรียนรู้ของเครื่องแบบนี้ไม่มีทางเข้าใกล้ AGI ได้เลย[0]
    อย่างน้อยตราบใดที่ยังอยู่ใน กระบวนทัศน์ออโตรีเกรสซีฟ ปัญหา hallucination ก็แก้ไม่ได้
    [0] https://twitter.com/ylecun/status/1640122342570336267

    • LeCun อาจถูกหรือผิดก็ได้ แต่ผมไม่แน่ใจว่ามันเกี่ยวกับประเด็นนี้แค่ไหน
      ผู้เขียนต้นฉบับไม่ได้อ้างว่างานนี้ช่วยให้เข้าใกล้ AGI แต่อย่างใด แค่ทำให้ LLM แบบออโตรีเกรสซีฟทำสิ่งใหม่ที่ก่อนหน้านี้ทำไม่ได้
    • ไม่ใช่ว่าทุกอย่างต้องมุ่งไปสู่ AGI ถ้าสร้าง LLM ที่รันได้เร็วขึ้นและถูกลง นั่นก็มีคุณค่าในตัวเองแล้ว
      ผมก็ไม่คิดว่างานส่วนใหญ่จำเป็นต้องใช้ AGI ด้วย โดยเฉพาะถ้าไม่ได้มีเจตนาจะสร้างความทุกข์ให้สิ่งมีชีวิตที่มีสำนึก
    • ข้อโต้แย้งของ LeCun ตรงนี้สรุปสั้น ๆ ว่าผิด การพิสูจน์ของเขาต้องอาศัยสมมติฐานว่าโทเค็นที่ถอดรหัสทั้งหมดเป็นอิสระแบบมีเงื่อนไข หรืออย่างน้อยความน่าจะเป็นที่จะได้โทเค็นถัดไปที่ผิดนั้นเป็นอิสระ ซึ่งในความเป็นจริงไม่เป็นเช่นนั้น
      ในเชิงสัญชาตญาณ โทเค็นบางตัวก็ยากกว่าตัวอื่น อาจมี โทเค็นสำคัญ ในเอาต์พุต และหลังจากได้มันแล้ว โทเค็นที่เหลืออาจง่ายขึ้นมาก อีกทั้งแม้ในแบบออโตรีเกรสซีฟก็ยังสามารถพิมพ์โทเค็นอย่าง actually no... เพื่อฟื้นตัวจากโทเค็นที่ผิดได้
    • วิธีนี้อาจจะไม่เข้ากับข้อโต้แย้งเรื่อง การแยกตัวแบบเอ็กซ์โปเนนเชียล ด้วยซ้ำ
      ขึ้นกับวิธีสุ่มตัวอย่างโทเค็น ดูเหมือนว่าน่าจะมองการสร้างที่เสนอเป็นภาพรวมแล้วแก้ไขได้ ผมไม่แน่ใจว่าวิธีสุ่มตัวอย่างที่เสนอในงานนี้ทำแบบนั้นได้ทันทีหรือไม่ แต่จากข้อมูลที่ได้จากความน่าจะเป็น มันก็ดูเป็นไปได้
    • LeCun ฉลาดมาก แต่ประวัติการคาดการณ์ของเขาเกี่ยวกับ ข้อจำกัดของ LLM แบบออโตรีเกรสซีฟ นั้นแย่มาก