• ใน พื้นที่ฝังตัวมิติสูง สามารถแทนแนวคิดจำนวนมหาศาลได้โดยอาศัย กึ่งตั้งฉาก (quasi-orthogonality) แทนความตั้งฉากสมบูรณ์
  • บทตั้งเสริม Johnson-Lindenstrauss รับประกันว่าสามารถฉายข้อมูลมิติสูงตามอำเภอใจลงสู่มิติที่ต่ำกว่าได้โดยแทบไม่สูญเสียข้อมูล
  • ในกระบวนการหาค่าเหมาะที่สุด การออกแบบ ฟังก์ชันความสูญเสีย มีความสำคัญมาก เพราะฟังก์ชันความสูญเสียพื้นฐานอาจทำให้เกิดการจัดวางเวกเตอร์ที่ไม่มีประสิทธิภาพหรือมีอคติ
  • ผลการทดลอง แสดงให้เห็นว่าความจุจริงของพื้นที่ฝังตัวนั้นใหญ่กว่าที่คาดกันในทางทฤษฎีมาก และสามารถรองรับแนวคิดตั้งแต่หลายล้านไปจนถึงหลายพันล้านรายการให้อยู่ร่วมกันได้อย่างเป็นธรรมชาติ
  • การค้นพบนี้มีนัยเชิงปฏิบัติอย่างมากต่อ งานแมชชีนเลิร์นนิง เช่น การแทนข้อมูลและการลดมิติในการประมวลผลภาษาธรรมชาติและการออกแบบ embedding

บทนำ: คำถามเรื่องความจุของพื้นที่ embedding ในโมเดลภาษา

ในซีรีส์วิดีโอเกี่ยวกับโมเดลทรานส์ฟอร์เมอร์ของ 3Blue1Brown เมื่อไม่นานมานี้ Grant Sanderson ได้ตั้งคำถามที่น่าสนใจว่า พื้นที่ embedding 12,288 มิติของ GPT-3 จะบรรจุแนวคิดจากโลกจริงได้หลายล้านแนวคิดอย่างไร
ข้อสงสัยนี้เชื่อมโยงกับผลลัพธ์ทางคณิตศาสตร์อย่าง เรขาคณิตมิติสูง และ บทตั้งเสริม Johnson-Lindenstrauss (JL)
ระหว่างการสำรวจประเด็นนี้ ได้เกิดความเข้าใจใหม่เกี่ยวกับคุณสมบัติพื้นฐานของปริภูมิเวกเตอร์และการหาค่าเหมาะที่สุด และยังนำไปสู่การร่วมงานกับ Grant อีกด้วย

ความเป็นกึ่งตั้งฉากของเวกเตอร์และความจุของพื้นที่ embedding

  • ในปริภูมิ N มิติ จะมีเวกเตอร์ที่ตั้งฉากกันอย่างสมบูรณ์ได้เพียง N ตัว
  • แต่ในทางปฏิบัติ หากยอมให้มีความสัมพันธ์แบบ กึ่งตั้งฉาก (quasi-orthogonal) ที่เบี่ยงจาก 90 องศาเล็กน้อย (เช่น มุม 85~95 องศา) จำนวนเวกเตอร์ที่แทนได้ในปริภูมิเดียวกันจะเพิ่มขึ้นแบบทวีคูณ
  • ในวิดีโอของ Grant มีการแสดงภาพว่าเวกเตอร์หน่วย 10,000 ตัวสามารถจัดวางในปริภูมิ 100 มิติให้เกือบตั้งฉากกันได้
  • อย่างไรก็ตาม ระหว่างการทำซ้ำการทดลองเดียวกัน กลับพบกับกับดักเล็ก ๆ ในการออกแบบ ฟังก์ชันความสูญเสียสำหรับการหาค่าเหมาะที่สุด

ปัญหาและรูปแบบของฟังก์ชันความสูญเสีย

  • ฟังก์ชันความสูญเสียพื้นฐาน:
    loss = (dot_products.abs()).relu().sum()
  • บนยูนิตสเฟียร์จริง ๆ ฟังก์ชันความสูญเสียนี้ก่อให้เกิดปัญหาสองประการ
    1. Gradient Trap: เมื่อมุมของเวกเตอร์เข้าใกล้ 90 องศา กราดิเอนต์จะทำงานแรง แต่เมื่อเข้าใกล้ 0 องศาหรือ 180 องศา กราดิเอนต์จะเกือบเป็นศูนย์ ทำให้การปรับปรุงหยุดชะงัก
    2. ทางออกแบบ 99%: วิธีหาค่าเหมาะที่สุดจะลดความสูญเสียรวมด้วยการจัดวางที่เวกเตอร์แต่ละตัวตั้งฉากได้ดีต่อ 9,900 ตัวจาก 10,000 ตัว แต่เกือบขนานกับอีก 99 ตัว (กล่าวคือเป็นสำเนาของเวกเตอร์อ้างอิง)
  • เมื่อมองภาพรวม วิธีแก้นี้ต่างจากสิ่งที่คาดหวังโดยพื้นฐาน จึงจำเป็นต้องใช้ฟังก์ชันความสูญเสียที่ประณีตกว่า
  • จึงเปลี่ยนไปใช้ฟังก์ชันความสูญเสียที่มีการลงโทษแบบเอ็กซ์โปเนนเชียล: loss = exp(20*dot_products.abs()**2).sum()
  • วิธีนี้ให้ผลที่ใกล้กับการกระจายตัวที่ต้องการมากกว่า (มุมคู่สูงสุดประมาณ 76.5 องศา)

บทตั้งเสริม Johnson-Lindenstrauss (JL): หลักประกันเชิงเรขาคณิต

  • บทตั้งเสริม JL รับประกันว่าแม้จะฉายชุดจุดข้อมูลมิติสูงตามอำเภอใจลงสู่มิติที่ต่ำกว่าแบบสุ่ม ระยะทางแบบยูคลิดก็ยังคงถูกเก็บรักษาไว้เกือบเดิม
  • สำหรับจุดจำนวน 1~N จุด ค่าคลาดเคลื่อน ε และมิติฉาย k
    (1-ε)||u-v||² ≤ ||f(u)-f(v)||² ≤ (1+ε)||u-v||²
  • มิติต่ำสุดที่ต้องการคือ: k ≥ (C/ε²) * log(N)
    โดย C เป็นค่าคงที่ที่ใช้ปรับความน่าจะเป็นของความสำเร็จ
  • โดยทั่วไปมักตั้งค่า C แบบอนุรักษนิยมไว้ที่ 4~8 แต่ในวิธีฉายแบบพิเศษบางแบบ (เช่น Hadamard matrix หรือวิธีหาค่าเหมาะที่สุด) อาจทำให้ได้ C ที่เล็กกว่านี้

ด้านการประยุกต์ใช้งานจริง

  1. การลดมิติ:
    • ตัวอย่าง) แปลงความชอบของลูกค้าอีคอมเมิร์ซจากมิติระดับจำนวนสินค้าหลายหมื่นรายการให้เหลือเพียงหลักพันได้อย่างมีประสิทธิภาพ
    • นำไปใช้กับการวิเคราะห์ข้อมูลมิติสูงแบบเรียลไทม์และระบบแนะนำได้
  2. การวิเคราะห์ขีดจำกัดความจุของพื้นที่ embedding:
    • แทนที่จะยึดกับความตั้งฉากสมบูรณ์ ก็สามารถแสดง สเปกตรัมของความเหมือน/ความต่างระหว่างแนวคิด ได้อย่างเป็นธรรมชาติภายในปริภูมิ
    • ตัวอย่างคำจริง เช่น "archery", "fire", "gelatinous", "green" ซึ่งมีทั้งความหมายเชิงกายภาพและเชิงนามธรรมซ้อนทับกันในปริภูมิมิติสูง

การวิเคราะห์เชิงทดลองของความจุ embedding

  • จากการหาค่าเหมาะที่สุดด้วยการแปลง Hadamard matrix เป็นต้น พบว่าค่า C อยู่ที่ 2.5~4 และในการหาค่าเหมาะที่สุดบน GPU อาจลดลงได้มากกว่านั้นอีก
  • วิธีทดลอง: ฉาย standard basis vector จำนวน N ตัวเข้าสู่ปริภูมิ k มิติทีละลำดับ แล้วทำการหาค่าเหมาะที่สุดซ้ำ 50,000 ครั้ง
  • ผลการสังเกต:
    1. ค่า C จะเพิ่มขึ้นจนถึงค่าสูงสุด (~0.9) เมื่อ N เพิ่มขึ้น แล้วจึงค่อย ๆ ลดลง
    2. เมื่ออัตราส่วน N/k สูงขึ้น C จะลดลงต่ำกว่า 0.2
  • สิ่งนี้เกิดจากประสิทธิภาพของ sphere packing ในปริภูมิมิติสูง
  • นั่นชี้ว่าความสามารถในการแทนแนวคิดจริง ๆ อาจมากกว่าขอบบนทางทฤษฎีเสียอีก

ความหมายเชิงปฏิบัติของ embedding ในโมเดลภาษา

  • จำนวนแนวคิดที่บรรจุได้ขึ้นอยู่กับมิติ embedding k มุมตั้งฉากโดยประมาณ F (90°-มุมจริง) และค่า C โดยคำนวณได้เป็น Vectors ≈ 10^(k * F² / 1500)
    • k=12,288, F=1(89°) → 10^8
    • F=2(88°) → 10^32
    • F=3(87°) → 10^73
    • F=5(85°) → เก็บเวกเตอร์ได้มากกว่า 10^200
  • เพียง 86° ก็มีจำนวนมากกว่าจำนวนอะตอมในเอกภพที่สังเกตได้ (10^80)
  • กล่าวคือ โมเดลภาษาจริงสามารถคงความหมายจำนวนหลายล้านรายการไว้ได้อย่างอุดมสมบูรณ์แม้มีจำนวนมิติไม่มากนักเมื่อเทียบกัน

การประยุกต์ใช้ในงานจริงและทิศทางในอนาคต

  1. การลดมิติอย่างมีประสิทธิภาพ:
    • ผ่านวิธีการฉายแบบสุ่มที่ผสาน Hadamard transform, BCH coding เป็นต้น จึงสามารถลดมิติของข้อมูลขนาดใหญ่และคำนวณได้รวดเร็วโดยไม่ต้องทำ optimization ที่ซับซ้อน
  2. การออกแบบพื้นที่ embedding:
    • ความเข้าใจเรื่องความจุของปริภูมิช่วยอธิบายได้ว่าโมเดลภาษาขนาดใหญ่อย่างทรานส์ฟอร์เมอร์สามารถเก็บรักษาความสัมพันธ์เชิงความหมายของแนวคิดละเอียดอ่อนอย่าง "Canadian" หรือ "Muppet-like" ไปพร้อมกันได้
  • โดยสรุป มาตรฐาน embedding ปัจจุบัน (1,000~20,000 มิติ) เพียงพอสำหรับการแทนองค์ความรู้ของมนุษย์ และหัวใจสำคัญคือการ เรียนรู้การจัดวางที่เหมาะสมที่สุด ภายในปริภูมินั้น

บทสรุป

  • จุดเริ่มต้นจากการสำรวจปัญหาการหาค่าเหมาะที่สุดเล็ก ๆ ในฟังก์ชันความสูญเสีย ได้นำไปสู่ความเข้าใจเชิงลึกต่อเรขาคณิตมิติสูงและโครงสร้างพื้นฐานของแมชชีนเลิร์นนิง
  • บทตั้งเสริม JL ที่ตีพิมพ์ในปี 1984 กำลังทำหน้าที่เป็นแกนหลักของหลักการ embedding ในแมชชีนเลิร์นนิง การแทนข้อมูล และการลดมิติในปัจจุบัน
  • พร้อมทั้งขอบคุณ Grant Sanderson, ช่อง 3Blue1Brown และ Suman Dev สำหรับความร่วมมือ และแบ่งปันความยินดีจากประสบการณ์วิจัยและการเขียนครั้งนี้

อ่านเพิ่มเติม

  1. Sphere Packings, Lattices and Groups – Conway & Sloane
  2. Database-friendly random projections: Johnson-Lindenstrauss with binary coins – Achlioptas
  3. Hadamard Matrices, Sequences, and Block Designs – Seberry & Yamada

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น