2 คะแนน โดย GN⁺ 2023-12-24 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Ferret เป็น MLLM แบบเอนด์ทูเอนด์ที่รับเป้าหมายอ้างอิงในรูปแบบอิสระเป็นอินพุต และระบุพิกัดอ้างอิงในคำตอบ โดยมุ่งให้รองรับการอ้างอิงและการระบุหลักฐานได้ทุกระดับความละเอียดและทุกตำแหน่ง
  • องค์ประกอบหลักคือ Hybrid Region Representation และ Spatial-aware Visual Sampler ซึ่งช่วยให้ MLLM รองรับการอ้างอิงและการระบุหลักฐานแบบ open-vocabulary ที่ละเอียดได้
  • โปรเจกต์นี้มี GRIT Dataset ประมาณ 1.1 ล้านรายการ, Ferret-Bench, checkpoint delta ขนาด 7B·13B รวมถึงขั้นตอนการฝึก การประเมิน และการรันเดโม
  • การฝึกอ้างอิงสภาพแวดล้อม 8×A100 80GB และเมื่อมีจำนวน GPU น้อยกว่า ต้องปรับชุดค่า per_device_train_batch_size, gradient_accumulation_steps, num_gpus เพื่อคงขนาด global batch ไว้
  • ข้อมูลและโค้ดมีไว้ เฉพาะเพื่อวัตถุประสงค์ด้านการวิจัย โดยชุดข้อมูลอยู่ภายใต้ CC BY NC 4.0 อนุญาตเฉพาะการใช้งานที่ไม่ใช่เชิงพาณิชย์ และต้องปฏิบัติตามเงื่อนไขไลเซนส์ของ LLaMA, Vicuna และ GPT-4 ด้วย

เป้าหมายและองค์ประกอบของ Ferret

  • Ferret เป็น MLLM แบบเอนด์ทูเอนด์ ที่ชูแนวคิด “Refer and Ground Anything Anywhere at Any Granularity”
  • มีเป้าหมายเพื่อรับอินพุตอ้างอิงได้ในรูปแบบใดก็ได้ และ ระบุหลักฐานเชิงตำแหน่ง ของเป้าหมายในคำตอบ
  • ผลงานหลักสรุปได้เป็นสามส่วน
    • Ferret Model: ใช้ Hybrid Region Representation และ Spatial-aware Visual Sampler เพื่อให้อ้างอิงและระบุหลักฐานแบบ open-vocabulary ที่ละเอียดได้
    • GRIT Dataset: ชุดข้อมูล ground-and-refer instruction tuning ขนาดใหญ่ ลำดับชั้น และทนทาน ประมาณ 1.1 ล้านรายการ
    • Ferret-Bench: เบนช์มาร์กประเมินผลมัลติโมดัลที่ต้องใช้ทั้งการอ้างอิง·การระบุหลักฐาน ความหมาย ความรู้ และการใช้เหตุผล

รีลีสและสถานะโมเดล

  • วันที่ 8 ตุลาคม 2024 มีการเปิดตัว Ferret-UI
    • แนะนำว่าเป็น MLLM ที่เน้น UI ซึ่งสามารถทำงาน referring, grounding และ reasoning ได้อย่างมีประสิทธิภาพ
  • วันที่ 10 กรกฎาคม 2024 Ferret-v2 ได้รับการคัดเลือกใน COLM 2024
  • วันที่ 15 กุมภาพันธ์ 2024 Ferret ได้รับการคัดเลือกเป็น ICLR 2024 Spotlight
  • วันที่ 14 ธันวาคม 2023 มีการเผยแพร่ checkpoint Ferret 7B·13B
  • วันที่ 30 ตุลาคม 2023 มีการเผยแพร่ โค้ดโมเดล FERRET และ Ferret-Bench

การติดตั้งและเงื่อนไขการฝึก

  • การติดตั้งเป็นขั้นตอนโคลนรีโพซิทอรี แล้วติดตั้งแพ็กเกจในสภาพแวดล้อม Conda ที่ใช้ python=3.10
    • pip install -e .
    • pycocotools
    • protobuf==3.20.0
  • สำหรับการฝึก ต้องติดตั้งแพ็กเกจเพิ่มเติมคือ ninja และ flash-attn --no-build-isolation
  • สภาพแวดล้อมอ้างอิงสำหรับการฝึก FERRET คือ A100 GPU 8 ตัว หน่วยความจำตัวละ 80GB
  • เมื่อฝึกด้วย GPU จำนวนน้อยกว่า ต้องคงขนาด global batch ไว้
    • ขนาด global batch = per_device_train_batch_size × gradient_accumulation_steps × num_gpus
  • ไฮเปอร์พารามิเตอร์สำหรับการ fine-tuning ใช้โครงสร้างคล้ายกับ LLaVA(Vicuna)
    • FERRET-7B: Global Batch Size 128, Learning rate 2e-5, Epochs 3, Max length 2048, Weight decay 0
    • FERRET-13B: Global Batch Size 128, Learning rate 2e-5, Epochs 3, Max length 2048, Weight decay 0

การใช้โมเดลฐานและ checkpoint

  • ก่อนฝึก ต้องเตรียมน้ำหนักโมเดลฐาน Vicuna v1.3
  • ต้องใช้น้ำหนัก projector จากการ pretraining ขั้นที่ 1 ของ LLaVA ด้วย
    • 7B projector
    • 13B projector
  • checkpoint ที่เผยแพร่ไม่ได้เป็นโมเดลที่ pretrain แล้วทั้งชุด แต่ให้มาในรูปแบบ delta เทียบกับ Vicuna
  • ผู้ใช้ต้องรับน้ำหนัก Vicuna ก่อน จากนั้นดาวน์โหลด delta 7B หรือ 13B ของ Ferret แล้วใช้สคริปต์ ferret.model.apply_delta เพื่อปรับ offset เข้ากับน้ำหนัก Vicuna
  • weight differentials ที่ Apple จัดให้อยู่ภายใต้ไลเซนส์ CC-BY-NC ส่วน LLaMA หรือซอฟต์แวร์บุคคลที่สามอื่น ๆ ต้องเป็นไปตามเงื่อนไขของแต่ละราย

การประเมินและการรันเดโม

  • การประเมินมีรายละเอียดขั้นตอนในเอกสาร EVAL.md แยกต่างหาก
  • เดโมโลคัลใช้ Gradio web UI และต้องมีการฝึก FERRET รวมถึง checkpoint สำหรับใช้งานโลคัล
  • ขั้นตอนการรันเดโมมีสามขั้น
    • รัน controller: ferret.serve.controller
    • รันเว็บเซิร์ฟเวอร์ Gradio: ferret.serve.gradio_web_server
    • รัน model worker ที่ทำ inference บน GPU: ferret.serve.model_worker
  • model worker รับผิดชอบโมเดลเดียวที่ระบุด้วย --model-path
  • เมื่อโหลดโมเดลเสร็จและเห็น “Uvicorn running on ...” ให้รีเฟรช Gradio web UI แล้วจะเห็นโมเดลที่รันอยู่ในรายการ

ข้อจำกัดการใช้งานและที่มา

  • ข้อมูลและโค้ดถูกออกแบบและให้ไลเซนส์ไว้ เพื่อวัตถุประสงค์ด้านการวิจัย เท่านั้น
  • จำกัดการใช้งานให้เป็นไปตามข้อตกลงไลเซนส์ของ LLaMA, Vicuna และ GPT-4
  • ชุดข้อมูลอยู่ภายใต้ CC BY NC 4.0 และอนุญาตเฉพาะการใช้งานที่ไม่ใช่เชิงพาณิชย์
  • โมเดลที่ฝึกด้วยชุดข้อมูลนี้ไม่ควรถูกใช้นอกเหนือจากวัตถุประสงค์ด้านการวิจัย
  • โปรเจกต์นี้อิงจากโค้ดเบสของ LLaVA และโค้ดเบส LLM ของ Vicuna

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

 
GN⁺ 2023-12-24
ความคิดเห็นใน Hacker News
  • นี่จะไปทาง มัลติโมดัล กันแล้วเหรอ? ถ้า Google ยังทำคำบรรยายภาพด้านการเข้าถึงในพื้นที่นี้ได้ไม่ดีกว่าระดับ “โลโก้บริษัท” ก็คิดว่าจะกลับไปใช้ Apple
    แม้ Apple เองก็ต้องลดบั๊กและทำให้ VoiceOver ไม่รู้สึกเหมือนจะแตกพังเพียงแค่ไปแตะนิดหน่อย แต่แม้ไม่มี LLM คำบรรยายภาพก็สะอาดและชัดเจนอยู่แล้ว
    ตัวอย่างเช่น มันใกล้เคียงกับ “โลโก้สีเขียวบนพื้นหลังสีดำ” ขณะที่ Google อย่างที่บอกไปก่อนหน้านี้ จะใกล้กับ “โลโก้บริษัท” มากกว่า ดูเหมือนผลลัพธ์ที่เกิดขึ้นเมื่อ AI ถูกคราวด์ซอร์สแทนที่จะฝึกด้วยข้อมูลคุณภาพสูงที่ดี

    • แอป Lookout ของ Google เป็นแอปการเข้าถึงสำหรับผู้พิการทางสายตาและผู้มีสายตาเลือนราง ซึ่งอัปเดตเป็น มัลติโมดัล LLM ไปแล้วราว 6 เดือนก่อน
      ใช้ตระกูลโมเดล Flamingo: https://deepmind.google/discover/blog/tackling-multiple-task...
    • ถ้าตอนนี้มีงานวิจัยออกมา แปลว่า Apple น่าจะทำงานเรื่องนี้มาอย่างน้อย 1~2 ปีก่อนแล้ว
      ยังมีข่าวลือด้วยว่าฟีเจอร์ LLM จะเข้ามาใน macOS / iOS รุ่นที่จะออกปีหน้า
  • อีกอย่างที่น่าสนใจเกี่ยวข้องกัน: “LLM in a flash: Efficient Large Language Model Inference with Limited Memory”
    Apple ดูเหมือนกำลังเตรียมความก้าวหน้าครั้งใหญ่ด้าน การอนุมานบนอุปกรณ์ โดยใช้ LLM ลักษณะนี้
    https://arxiv.org/abs/2312.11514

  • ตัวงานวิจัยเก่าแล้ว (ตุลาคม 2023) แต่ weights เพิ่งออกมาใหม่ (ธันวาคม 2023)
    https://lifearchitect.ai/models-table/

  • Apple ดูเหมือนเงียบ ๆ เรื่อง LLM แต่ก็พัฒนา สแตก AI ฮาร์ดแวร์+ซอฟต์แวร์ อย่างต่อเนื่องโดยไม่โฆษณาหวือหวา
    ถ้า iOS รุ่นใหม่จู่ ๆ ทำให้หน้าต่างแชต OpenAI/Bard ดูล้าสมัยอย่างน่าขัน ก็อาจแซง Microsoft/OpenAI และ Google ได้เลย
    ถ้าการใช้งาน AI ส่วนใหญ่ย้ายไปอยู่บนฮาร์ดแวร์ของ Apple มากขึ้น ก็จะเป็นภัยต่อ Nvidia และ Arm กับ TSMC ก็มีแนวโน้มจะได้ประโยชน์

    • ดูไม่เหมือนว่า Apple จะสร้างแชตบอตขนาดใหญ่แบบ ChatGPT
      มีโอกาสสูงกว่าที่จะ “แค่” ใช้เทคโนโลยีเดียวกันนี้ค่อย ๆ ปรับปรุงผลิตภัณฑ์อย่าง Siri หรือ การเติมข้อความอัตโนมัติ บนคีย์บอร์ด ซึ่งคิดว่าเป็นทิศทางที่ดี
    • Apple ไม่ได้ขาย เวลาในการประมวลผล ให้บริษัทอื่นไปรัน AI และก็ไม่ได้ขายฮาร์ดแวร์สั่งทำขนาดใหญ่สำหรับฝึก AI
      ไม่ได้พยายามหาเงินลงทุนจากเวนเจอร์ และธุรกิจหลักก็ไม่ได้ถูก AI ในฐานะ “วิวัฒนาการของการค้นหา” คุกคาม
      ในมุมผลิตภัณฑ์ ตอนนี้สิ่งที่ได้ยินก็มีแค่ข้อความประมาณว่า M3 Max เหมาะกับการรันโมเดลแมชชีนเลิร์นนิง
      จนกว่าจะมีผลิตภัณฑ์สำหรับผู้บริโภคพร้อมจริง ก็คงแค่พูดถึงแบบเป็นพิธีการในประชุมการเงินเพื่อจัดการความคาดหวังของนักวิเคราะห์ก็พอ
    • เมื่อดูจากผลงานด้าน AI ของ Apple และสภาพที่ปล่อย CoreML ทิ้งไว้ สถานการณ์แบบนั้นดูมีโอกาสน้อยมาก
      แค่จะกู้ความเชื่อมั่นของนักพัฒนาก็น่าจะใช้เวลานาน และก็ดูไม่เหมือนว่าจะเกิดขึ้น
    • ยกตัวอย่างได้ไหม? ฉันย้ายไป Android เพราะใช้ผู้ช่วยส่วนตัวระหว่างขับรถบ่อย และ Siri นี่แย่มากจริง ๆ
    • มั่นใจได้ขนาดนั้นเลยเหรอ? แม้แต่ลิงก์นี้เองก็สร้างอยู่บนผลงานของคนอื่นอีกที เลยไม่แน่ใจว่า Apple มีส่วนร่วมมากอย่างที่คิดไหม
  • ช่วยนิยามหน่อยได้ไหมว่า “MLLM” หมายถึงอะไร?

    • Multimodal Large Language Model หรือก็คือโมเดลภาษาขนาดใหญ่แบบมัลติโมดัล
    • มันทำงานโดยที่โมเดลภาษามอบหมายงานให้โมเดลภาษาที่เล็กกว่าหลายตัว แล้วคิดค่าเวลา GPU แพงเกินจริง
    • แล้ว FERRET เป็นตัวย่อหรือเปล่า?
  • อยากให้ Apple ออก iPhone ที่มี ผู้ช่วย LLM แบบส่วนตัวบนอุปกรณ์ ที่ดีได้เร็วสุดก็ปีหน้า
    ฮาร์ดแวร์ก็ดูเหมาะกับสิ่งนี้มาก
    ถ้าออกมาแบบนั้น อาจทำให้ฉันยอมทำลายรอบการเปลี่ยนเครื่องที่ปกติใช้ราว 4 ปีแล้วซื้อโทรศัพท์ใหม่เลย สำหรับฉัน Siri แทบใช้งานไม่ได้

    • มีข่าวลือว่า Apple กำลังเตรียม iOS 18 ให้เป็นรีลีสที่เน้น AI
      น่าสนใจว่าจะให้ความสามารถต่างกันตามสถานะออนไลน์/ออฟไลน์ หรือจะรองรับแบบออฟไลน์ล้วนไปเลย
      มีบทความหนึ่งที่พอเห็นภาพพื้นหลังได้: https://archive.is/en3VL
    • GPT-4 voice ยอดเยี่ยมมากจริง ๆ
      ถ้าเป็นเครื่องมือเสียง มันใกล้เคียงกับสิ่งที่คาดหวังมาก คือคุยเหมือนคุยกับคนปกติได้ ไม่ใช่ต้องพูดคำสั่งเฉพาะเสียงดังแบบ Siri
    • เผื่อไม่ทราบ ระบบแก้ไขคำอัตโนมัติตอนนี้ก็มี LLM ขนาดเล็กคอยหนุนอยู่แล้ว
      https://jackcook.com/2023/09/08/predictive-text.html
    • ใน iOS 17 มีการใส่ LLM ขนาดจิ๋วลงไปในระบบพิมพ์คาดเดา
      ฉันใช้ iPhone รุ่นใหม่อยู่ แต่แทบไม่ค่อยเห็นมันทำงานจริง
      ตอนนี้ดูเหมือนมันยังช้าเกินไปกว่าจะตามความเร็วการพิมพ์ของฉัน หรือไม่ก็โมเดลเล็กเกินไปกว่าจะเสนอสิ่งที่มีประโยชน์ได้มาก
    • จนถึงตอนนี้ยังไม่มีใครควบคุมโมเดล LLM ได้จริง และ Apple ก็ไม่ใช่ข้อยกเว้น
      แม้ตอนนี้ก็ยังทำให้ ChatGPT พูดเรื่องแย่มาก ๆ ได้ และถ้า Apple ออกอะไรแบบรันบนอุปกรณ์ มันก็คงถูกทำให้เป็นหุ่นยนต์ไม่ดีได้เหมือนกัน
      ส่วนตัวคิดว่า LLM ยังไม่ปลอดภัยพอสำหรับใช้งานโปรดักชันที่มุ่งสู่ผู้ใช้ทั่วไป
  • พอเห็นว่า “FERRET ถูกฝึกด้วย A100 GPU 8 ตัวที่มีหน่วยความจำ 80GB” ก็เหมือนว่า Apple เองก็หนี กับดัก CUDA ไม่พ้นเหมือนกัน
    น่าสนใจดีที่มีความสัมพันธ์เชิงเป็นปฏิปักษ์ทางศีลธรรมกับ Nvidia แต่ก็ต้องพึ่งพากันบางส่วน

    • รู้สึกว่าตอนนี้ Apple ยังแค่ลองเชิงในฝั่ง AI อยู่
      แต่ถ้าลงลึกมากพอ ก็อาจยอมทุ่มเงินกับโครงสร้างพื้นฐานด้านการประมวลผลของตัวเองได้
      ตอนนี้ Nvidia คือราชาแห่งงานประมวลผลบน GPU และการพัฒนาฮาร์ดแวร์ที่ใกล้เคียงกันก็ไม่ใช่งานเล็กหรือราคาถูก แต่ Apple ก็อยู่ในตำแหน่งที่ดีมากพอจะทำได้ถ้าตัดสินใจลงทุน
      ต่อให้มีความขัดแย้งระหว่างบริษัท ผมว่าถ้ากระบวนการไหนถูกกว่าหรือง่ายกว่า บริษัทต่าง ๆ ก็ยินดีจะยอมรับมัน
    • Apple Silicon นั้นดี แต่เป็นชิปที่ออกแบบมาให้เหมาะกับอุปกรณ์พกพา
      แม้แต่ Studio กับ Mac Pro เองก็ยังใกล้เคียงกับการเอาชิปโน้ตบุ๊กมาต่อรวมกัน และถ้าเป็นงานหนักก็ควรใช้อุปกรณ์หนักให้เหมาะกัน
      รู้ว่า Apple มีความสัมพันธ์ที่ไม่ค่อยดีกับ Nvidia แต่ก็หวังว่าจะช่วยเสริมความแข็งแรงให้ระบบนิเวศ AMD/ROCm
      แน่นอนว่า Apple เองก็น่าจะกำลังสร้างอะไรของตัวเองในพื้นที่นี้อยู่เหมือนกัน ด้วยสินทรัพย์สภาพคล่องระดับหลายพันล้านดอลลาร์ ก็น่าจะทุ่มกับ R&D ไม่น้อย
    • คำว่า “พึ่งพา” ฟังแรงไปหน่อย
      สุดท้ายแล้ว โมเดลดีปเลิร์นนิง พวกนี้รันได้บนฮาร์ดแวร์แทบทุกแบบ และถ้ายอมเสียประสิทธิภาพเล็กน้อย ก็สามารถสลับฮาร์ดแวร์ประเภทหนึ่งไปใช้อีกประเภทได้ค่อนข้างง่าย
      โดยพื้นฐานแล้วมันค่อนข้างใกล้เคียงกับสินค้าโภคภัณฑ์ทั่วไป
  • มีใครรู้ไหมว่า โมเดลโอเพนซอร์ส ตัวที่ดีที่สุดที่ใช้เชิงพาณิชย์ได้และรันแบบโลคัลบน iPhone ได้คืออะไร?

    • ผมทำ Flutter plugin ที่ทำแบบนี้ได้ และก็ทำแอปตัวอย่างไว้แล้วด้วย
      เป็นโอเพนซอร์สและรันแบบเนทีฟบนแพลตฟอร์มหลัก ๆ ได้ ผมยังแชร์วิดีโอที่มันรันบน iPad Mini, Pixel 7, iPhone 12, Surface Pro (Windows 10 & Ubuntu Jellyfish), Mac (Intel & สถาปัตยกรรม M) ไว้ด้วย
      แอปยังห่างไกลจากคำว่าสมบูรณ์มาก จุดเริ่มต้นคือผมอยากใช้ on-device AI บน Flutter เลยเริ่มจากพอร์ต llama.cpp และต่อไปก็คิดว่าจะพอร์ตอิมพลีเมนเทชันใหม่ ๆ อย่าง whisper.cpp, bark.cpp ด้วย
      ที่เก็บโค้ด: https://github.com/BrutalCoding/aub.ai
      บนอุปกรณ์ Apple ใช้อันนี้ได้เลย: https://testflight.apple.com/join/XuTpIgyY
      แอปรองรับไฟล์ GGUF ใด ๆ ก็ได้ แต่ควรเป็นรูปแบบพรอมป์ต์ ChatML ไม่อย่างนั้น UI แชต/บอลลูนข้อความอาจเพี้ยนได้ ตอนนี้ยังไม่ได้ทำให้ปรับแต่งได้ เพราะมันเป็นเพียงแอปตัวอย่างของปลั๊กอินเท่านั้น ถึงอย่างนั้นก็กำลังพัฒนาอย่างจริงจังให้ไปถึงรูปแบบที่ตั้งใจไว้
    • Mistral 7B ใช้ได้ค่อนข้างดี และ instruct v0.2 ก็รันบน iPhone ของผมผ่าน MLC Chat ได้
      แต่ในแง่การใช้งาน แอป ChatGPT4 ดีกว่ามาก ทั้งตัวโมเดลเองก็ดีกว่า และยังมีความสามารถมัลติโมดัลรวมถึงข้อความ/ภาพ/เสียง พร้อม UI ที่ดีกว่าด้วย
  • “ข้อมูลและโค้ดมีไว้และได้รับอนุญาตให้ใช้เพื่อวัตถุประสงค์ด้านการวิจัยเท่านั้น นอกจากนี้ยังจำกัดให้ใช้ภายใต้ข้อตกลงใบอนุญาตของ LLaMA, Vicuna และ GPT-4 ชุดข้อมูลอยู่ภายใต้ CC BY NC 4.0 และอนุญาตเฉพาะการใช้งานที่ไม่ใช่เชิงพาณิชย์ และโมเดลที่ฝึกด้วยชุดข้อมูลนี้ห้ามนำไปใช้นอกเหนือจากวัตถุประสงค์ด้านการวิจัย”
    เดี๋ยวก่อน ตรงนี้ GPT-4 เข้ามาเกี่ยวได้ยังไง?

    • น่าจะเป็นเพราะมีการใช้ข้อมูลฝึกที่ GPT-4 สร้างขึ้นในบางขั้นตอน อาจจะเป็นฝั่ง Vicuna ก็ได้
    • ในสแตกการประเมินผลมีการใช้ GPT-4 ให้คะแนนคำตอบ เลยอาจใส่ไว้เพราะเหตุนั้น
    • น่าสนใจนะ เหมือน Apple พูดตรง ๆ ต่อสาธารณะเลยว่าใช้ GPT-4 ในการฝึก