3 คะแนน โดย GN⁺ 2025-02-27 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • กลไก Self-Attention แบบเดิมมีความซับซ้อน O(n²) ทำให้ขยายไปยังลำดับที่ยาวได้อย่างจำกัด
  • งานวิจัยนี้นำเสนอ FFTNet ที่ใช้ Fast Fourier Transform(FFT)
  • FFTNet ทำการผสมโทเค็นแบบโกลบอลด้วยความซับซ้อนด้านเวลา O(n log n)
  • มีการนำ spectral filter ที่เรียนรู้ได้และ modReLU activation function มาใช้ในโดเมนความถี่ เพื่อเน้นองค์ประกอบความถี่ที่สำคัญ
  • ในการทดลองบนเบนช์มาร์ก Long Range Arena(LRA) และ ImageNet แสดงประสิทธิภาพที่ดีกว่าโมเดล Self-Attention เดิมและโมเดล Fourier transform แบบคงที่

งานวิจัยที่เกี่ยวข้อง

  • ความซับซ้อนของ Self-Attention : โมเดล Transformer ต้องใช้การคำนวณ O(n²) จึงไม่มีประสิทธิภาพสำหรับการประมวลผลลำดับที่ยาว
  • แนวทางที่อิง Fourier : โมเดลอย่าง FNet ใช้ Fourier transform แบบคงที่ เพื่อลดภาระการคำนวณ แต่ขาดความสามารถในการปรับตามอินพุต
  • เทคนิคการประมาณเชิงเส้น แบบเบาบาง และมิติต่ำ : งานอย่าง Performer, Linformer, BigBird เสนอวิธี ประมาณการคำนวณของ Self-Attention
  • เทคนิคการแยกตัวประกอบเมทริกซ์ตั้งฉาก : การใช้ orthogonal transform (รวม DFT) ช่วยเพิ่มเสถียรภาพในการฝึกโมเดล
  • adaptive spectral filtering : การเพิ่ม ฟิลเตอร์ที่เรียนรู้ได้ ลงในการแปลงแบบ FFT ทำให้ ยืดหยุ่นและมีพลังในการแทนข้อมูลมากกว่า วิธีเดิม

FFTNet: เทคนิค adaptive spectral filtering

แรงจูงใจ

  • Self-Attention มีความซับซ้อน O(n²) และไม่มีประสิทธิภาพกับลำดับที่ยาว
  • FFT ทำงานที่ O(n log n) และสามารถเข้ารหัสปฏิสัมพันธ์แบบโกลบอลได้อย่างมีประสิทธิภาพ

วิธีการ

  • Fourier transform (ใช้ FFT)
    • แปลงลำดับอินพุตไปยังโดเมนความถี่เพื่อจับ การพึ่งพาแบบโกลบอล ได้อย่างมีประสิทธิภาพ
  • การใช้ adaptive spectral filter
    • ใช้ เวกเตอร์บริบทโกลบอล เพื่อสร้างฟิลเตอร์ที่เรียนรู้ได้ และเน้นย่านความถี่สำคัญแบบไดนามิก
  • modReLU non-linear activation
    • ใช้ activation แบบอิง ReLU ในโดเมนความถี่เชิงซ้อนเพื่อเพิ่มพลังในการแทนข้อมูล
  • inverse Fourier transform (IFFT)
    • หลังใช้การกรองและ activation กับข้อมูลที่แปลงแล้ว จะถูกแปลงกลับไปยังโดเมนเวลา

พื้นฐานเชิงทฤษฎีของ FFTNet

  • สามารถผสมโทเค็นแบบโกลบอลได้ด้วย ปริมาณการคำนวณ O(n log n)
  • adaptive Attention: ฟิลเตอร์ที่เรียนรู้ได้ในโดเมนความถี่จะปรับความถี่ตามอินพุตที่ได้รับ
  • การเพิ่มพลังการแทนข้อมูลของ non-linear activation: การใช้ modReLU ทำให้เรียนรู้แพตเทิร์นมิติสูงที่เหนือกว่าการแปลงเชิงเส้นอย่างเดียวได้
  • รับประกันเสถียรภาพบนพื้นฐานของ Parseval's theorem: รักษาพลังงานของสัญญาณเพื่อลดการสูญเสียข้อมูลให้น้อยที่สุด

ผลการทดลอง

เบนช์มาร์ก Long Range Arena (LRA)

  • FFTNet ทำความแม่นยำได้สูงกว่า Transformer และ FNet โดยรวม
  • โดยเฉพาะในงาน ListOps, Text, Retrieval, Image และ Pathfinder ให้ผลลัพธ์ที่ดีกว่า และทำคะแนนเฉลี่ยสูงสุด
  • Transformer แม้จะแสดงผลลัพธ์สูงในบางงาน แต่มีข้อจำกัดในการจัดการการพึ่งพาระยะยาว
  • FNet แม้ใช้ FFT แต่เพราะเป็นการแปลงแบบคงที่จึงขาดความสามารถในการปรับตัว ทำให้ผลลัพธ์โดยรวมต่ำกว่า
  • โดยเฉพาะในงาน Path-X นั้น Transformer ล้มเหลวจากหน่วยความจำเกิน(OOM) ขณะที่ FFTNet แสดงประสิทธิภาพที่เสถียร

การทดลองจัดประเภทบน ImageNet

  • Vision Transformer ที่อิง FFTNet (FFTNetViT) สามารถลดปริมาณการคำนวณ(FLOPs) ได้อย่างมาก ขณะยังคงความแม่นยำใกล้เคียงกับ ViT เดิม
  • ในกรณีของโมเดล Base, FFTNetViT ใช้ FLOPs น้อยกว่า ViT ราว 38% แต่ความแม่นยำเพิ่มขึ้นเล็กน้อย
  • ในโมเดล Large และ Huge นั้น FFTNetViT ก็ยังคงรักษาประสิทธิภาพใกล้เคียงกับ ViT ด้วยปริมาณการคำนวณที่ต่ำกว่า
  • สิ่งนี้ยืนยันได้ว่า FFTNetViT มอบประสิทธิภาพเชิงคำนวณที่สูง

Ablation Study (การวิเคราะห์ความสำคัญขององค์ประกอบแต่ละส่วน)

  • มีการวิเคราะห์ผลกระทบต่อประสิทธิภาพของโมเดลโดยถอดองค์ประกอบต่าง ๆ ของ FFTNet ออก
  • ยิ่งนำองค์ประกอบหลักของ FFTNet ออก ความแม่นยำก็ยิ่งมีแนวโน้มลดลง
    • นำ spectral gating ออก: เมื่อความสามารถในการเน้นความถี่เฉพาะหายไป ความแม่นยำลดลงเล็กน้อย
    • นำ adaptive module ออก: เมื่อความสามารถในการปรับฟิลเตอร์แบบไดนามิกตามอินพุตหายไป ความแม่นยำลดลงมากขึ้น
    • ใช้ convolution แทน FFT: เมื่อความสามารถในการผสมข้อมูลโกลบอลอย่างมีประสิทธิภาพหายไป ทำให้ประสิทธิภาพลดลงมากที่สุด
  • จากผลนี้ยืนยันได้ว่าแต่ละองค์ประกอบของ FFTNet มีบทบาทสำคัญต่อการเพิ่มประสิทธิภาพ

บทสรุป

  • FFTNet เป็นทางเลือกที่มีประสิทธิภาพเชิงคำนวณเหนือกว่า Self-Attention
  • การผสาน adaptive spectral filter และ modReLU ในโดเมนความถี่ มอบพลังในการแทนข้อมูลที่แข็งแกร่ง
  • ผลการทดลองแสดงให้เห็นว่า บน LRA และ ImageNet มีทั้งประสิทธิภาพและความคุ้มค่าดีกว่าโมเดล Self-Attention เดิม
  • ยังคงความซับซ้อน O(n log n) พร้อมให้ประสิทธิภาพระดับ Self-Attention จึงเหมาะกับการประมวลผลลำดับที่ยาว
  • Vision Transformer ที่อิง FFTNet (FFTNetViT) ก็ทำผลงานใกล้เคียง ViT ได้ด้วย FLOPs ที่ต่ำกว่า

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

 
GN⁺ 2025-02-27
ความคิดเห็นจาก Hacker News
  • โดยพื้นฐานแล้วใช้ทฤษฎีบทคอนโวลูชัน: คอนโวลูชันที่มีต้นทุนสูงในโดเมนตรงจะกลายเป็นการคูณอย่างง่ายในโดเมนคู่กัน

    • เมื่อมีการดำเนินการคอนโวลูชันกับข้อมูล ก็จะแปลงไปยังโดเมนคู่กันเพื่อเปลี่ยนมันให้เป็นการคูณ
    • กล่าวคือ ทำงานกับข้อมูลในโดเมนที่เป็นธรรมชาติของมัน
  • Google ได้นำเสนอแนวคิดชื่อ "FNet: Mixing Tokens with Fourier Transforms" ในปี 2022

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

    • ดังนั้นตัวแปลงจึงเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการจัดการข้อมูลที่ไม่แปรตามการเรียงสับเปลี่ยน
    • อยากเห็นการทดลองเพิ่มเติมโดยใช้การแปลงฟูเรียร์กับ finite groups ที่ไม่ค่อยเป็นที่รู้จัก
    • ถ้านี่กลายเป็นของใหญ่ชิ้นถัดไปสำหรับ LLMs ก็สงสัยว่าจะผนวกรวมเข้ากับ inference engine (vLLM, llama.cpp ฯลฯ) ได้ง่ายแค่ไหน
  • คณิตศาสตร์ยากเกินไปจนเข้าใจได้ลำบาก สงสัยว่าจะมีใครอธิบายเป็นภาษาอังกฤษง่าย ๆ ได้ไหมว่าสิ่งนี้เทียบเท่ากับ attention อย่างไร กำลังพูดถึงความถี่แบบไหน และเข้ารหัสความสัมพันธ์เชิงตำแหน่งระหว่างโทเค็นอย่างไร

  • ไม่รู้ว่าจะใส่ causal masking เข้ากับเฟรมเวิร์กนี้ได้อย่างไร และไม่มีการพูดถึง positional embeddings เลย ดังนั้น implementation ของ self-attention ที่นำมาเทียบกันดูเหมือนจะเป็น NoPE แบบไม่เป็นเชิงสาเหตุ

    • ถ้าผลลัพธ์เข้าใกล้ state of the art ผู้เขียนก็น่าจะพูดถึงเรื่องนี้แล้ว
  • ไม่มีการกล่าวถึง Hyena Operator ซึ่งได้สาธิต full-context mixing แบบ O(n log n) ไปแล้วตั้งแต่หลายปีก่อน

  • ในยุคของ telemetry ผมคิดว่าเป็นความผิดพลาดครั้งใหญ่ที่จะไม่ใช้ FFT กับ cloud telemetry เพื่อค้นหา epicycles และระบบกึ่งเสถียรก่อนจะเกิดดราม่า

    • "SLA มีโอกาสถูกละเมิดมากที่สุดหลัง deploy service ไป 23-25 นาที ทำไมนะ... โอ้ ไม่นะ"
  • สงสัยว่ามีใครมีสัญชาตญาณอธิบายได้ไหมว่าทำไมการมองสิ่งต่าง ๆ ในโดเมนความถี่ถึงช่วยได้

    • พอเข้าใจ DC term แต่ไม่คาดว่าข้อมูลอินพุตจะมีความเป็นคาบมากพอที่ความถี่อื่น ๆ จะมีความหมาย
  • พอเข้าใจสัญลักษณ์ Big O อยู่บ้าง แต่เหมือนกับเรื่องส่วนใหญ่ที่เกี่ยวกับคอมพิวเตอร์หรือวิศวกรรมไฟฟ้า เรื่องนี้ก็ยังเข้าใจยาก

    • ในฐานะคนที่อ่อนคณิตศาสตร์มาก รู้สึกอิจฉาคนที่เข้าใจหรือเรียนรู้เรื่องแบบนี้ได้
    • สิ่งที่รู้เกี่ยวกับ FFT คือมันแปลงสัญญาณ ใช้กับงานประมวลผลสัญญาณบางอย่าง และในอดีตมีบทบาทสำคัญในการตรวจจับการระเบิดนิวเคลียร์
  • ไม่เข้าใจว่าทำไมต้องมี attention ด้วย fully connected layer ก็สามารถ "ใส่ใจ" อินพุตทั้งหมดได้เหมือนกัน

    • ในชุดข้อมูลขนาดเล็กมาก (0 - 500 โทเค็น) attention ทำให้ฝึกนานขึ้นและผลลัพธ์แย่ลง
    • ดูเหมือนว่าข้อดีจะเริ่มปรากฏในชุดข้อมูลที่ใหญ่กว่า
    • เป็นมือใหม่ด้าน AI ที่กำลังทำโปรเจกต์ AI ส่วนตัวอยู่ จึงไม่ใช่แหล่งอ้างอิงที่แม่นยำนัก