3 คะแนน โดย GN⁺ 2025-03-13 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • จากภาพ 10,000 ภาพที่เก็บไว้ในบล็อก มีประมาณ 9,000 ภาพที่ยังไม่มี alt-text
  • เพื่อแก้ปัญหานี้ ได้ทดสอบ LLM (Large Language Model) 12 ตัว โดยในจำนวนนี้ 10 ตัวรันแบบโลคัล และอีก 2 ตัวเป็นโมเดลบนคลาวด์ (GPT-4, Claude 3.5 Sonnet)
  • การเขียน alt-text เป็นงานสำคัญที่ช่วยเพิ่มการเข้าถึงสำหรับผู้พิการทางสายตา แต่การเขียนด้วยมือทั้งหมดมีภาระสูง
  • เป้าหมายคือทดสอบความแม่นยำของโมเดล AI ในการสร้าง alt-text และตรวจสอบว่าโมเดลโลคัลจะเป็นทางเลือกที่ใช้งานได้จริงหรือไม่

โมเดล AI ที่ทดสอบ

  • โมเดลโลคัล (10 ตัว)
    • 9 โมเดลรันบน MacBook Pro (RAM 32GB)
    • อีก 1 โมเดลรันบนเครื่องสเปกสูงของเพื่อน
  • โมเดลคลาวด์ (2 ตัว)
    • GPT-4o (OpenAI)
    • Claude 3.5 Sonnet (Anthropic)

เปรียบเทียบประสิทธิภาพหลัก

  • โมเดลคลาวด์ (GPT-4o, Claude 3.5 Sonnet)

    • สร้าง alt-text ได้แม่นยำที่สุด
    • อธิบายรายละเอียดได้ดีมาก และจับบรรยากาศของภาพได้ด้วย
    • ระดับการประเมิน: A
  • โมเดลโลคัลที่ทำผลงานได้ดี

    • Llama 3.2 Vision 11B
      • จำแนกวัตถุได้แม่นยำและเข้าใจบริบทได้ดี
      • ระดับการประเมิน: B
    • Llama 3.2 Vision 90B
      • แม่นยำกว่าโมเดล 11B เล็กน้อย แต่ต้องใช้ RAM มากกว่าในการรัน
      • ระดับการประเมิน: B
    • MiniCPM-V
      • แม้เป็นโมเดลที่ค่อนข้างเบา แต่ให้ประสิทธิภาพที่แข็งแกร่ง
      • ระดับการประเมิน: B
  • โมเดลที่ทำผลงานต่ำ

    • โมเดลยุคแรกอย่าง VIT-GPT2, GIT, BLIP มีแนวโน้มจำแนกวัตถุไม่แม่นยำ และสร้างข้อความซ้ำ ๆ
    • ระดับการประเมิน: D~F

วิธีที่โมเดล AI วิเคราะห์ภาพ

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

ภาพทดสอบและผลลัพธ์

  • ชิบูย่าครอสซิง (โตเกียว)

    • GPT-4o, Claude: "ชิบูย่าครอสซิงที่เต็มไปด้วยป้ายนีออนและผู้คนจำนวนมาก" → เกรด A
    • LLaVA 13B: "ภาพผู้คนกำลังข้ามถนนที่ชิบูย่าครอสซิง" → เกรด A
    • Llama 3.2 Vision 11B: "ทิวทัศน์ยามค่ำคืนอันคึกคักของโตเกียว พร้อมป้ายโฆษณาและฝูงชน" → เกรด C
    • VIT-GPT2: "ภาพกลางคืนของเมืองที่มีตึกสูงและสัญญาณไฟจราจร" → เกรด F (ไม่แม่นยำ)
  • พิพิธภัณฑ์ Isabella Stewart Gardner (บอสตัน)

    • Claude: "ห้องสไตล์วิกตอเรียน โคมระย้า และกรอบรูปปิดทอง" → เกรด B
    • Llama 3.2 Vision 11B: "กรอบรูปปิดทองและฉากหลังตกแต่งอย่างวิจิตร" → เกรด A
    • BLIP-2 OPT: "ห้องที่มีภาพวาดและกรอบรูปแขวนอยู่บนผนัง" → เกรด C
    • VIT-GPT2: "ห้องนั่งเล่นที่มีเชิงเทียนและแจกันวางอยู่หน้ากระจก" → เกรด F (ไม่แม่นยำ)
  • เวคบอร์ดดิ้ง (รัฐเวอร์มอนต์ สหรัฐฯ)

    • GPT-4o: "คนสองคนบนเรือกำลังดูผู้เล่นเวคบอร์ด" → เกรด A
    • Llama 3.2 Vision 90B: "คนสองคนบนเรือกำลังดูการเล่นเวคบอร์ด" → เกรด A
    • BLIP-2 FLAN: "มีคนกำลังดูการเล่นเซิร์ฟบนเรือ" → เกรด C
    • VIT-GPT2: "คนสองคนยืนอยู่บนเรือพร้อมถือเซิร์ฟบอร์ด" → เกรด E (ไม่แม่นยำ)

ผลการประเมิน

  • โมเดลคลาวด์ (GPT-4o, Claude 3.5 Sonnet): เกรด A
    • ให้คำอธิบายที่แม่นยำที่สุด และจับบรรยากาศได้ด้วย
  • กลุ่มโมเดลโลคัลระดับบน (Llama 11B, Llama 90B, MiniCPM-V): เกรด B
    • ความแม่นยำยังด้อยกว่าโมเดลคลาวด์เล็กน้อย แต่ใช้งานจริงได้
  • โมเดลยุคแรก (VIT-GPT2, GIT, BLIP เป็นต้น): เกรด D~F
    • มีการใช้ถ้อยคำซ้ำ และเกิด hallucination

ประเด็นที่ควรพิจารณาต่อ

ถ้า alt-text ไม่สมบูรณ์แบบ จะยังดีกว่าไม่มีเลยหรือไม่?

  • alt-text ระดับ B ก็มีแนวโน้มว่าจะดีกว่าไม่มีเลย
  • อย่างไรก็ตาม ข้อมูลที่ไม่แม่นยำ (เช่น เพิ่มวัตถุที่ไม่มีอยู่จริง) อาจทำให้ผู้ใช้ที่มีความบกพร่องทางการมองเห็นสับสนได้

ตัวเลือกสำหรับขั้นตอนถัดไป

  • รวมผลลัพธ์จาก AI หลายตัว
    • ผสานหลายโมเดลเพื่อสร้างคำอธิบายที่แม่นยำที่สุด
  • รอการอัปเกรด
    • ใช้โมเดลโลคัลที่ดีที่สุดในตอนนี้ แล้วอัปเดตเป็นโมเดลใหม่ในอีก 6~12 เดือน
  • ใช้โมเดลคลาวด์
    • ใช้โมเดลบนคลาวด์เพื่อความแม่นยำ แต่มีปัญหาเรื่องต้นทุนและความเป็นส่วนตัวของข้อมูล
  • แนวทางแบบไฮบริด
    • ให้มนุษย์ช่วยตรวจทานและปรับแก้ alt-text ที่ AI สร้างขึ้น (แต่ในทางปฏิบัติทำได้ยากหากต้องใช้กับ 9,000 ภาพ)
  • ตอนนี้ตัวเลือกที่สมเหตุสมผลที่สุดน่าจะเป็น การใช้โมเดลโลคัลไปก่อน แล้วค่อยอัปเดตเป็นโมเดลที่ก้าวหน้ากว่าในอนาคต

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

 
quilt8703 2025-03-14

ผมใส่ alt-text ให้กับภาพที่โพสต์บน Twitter และที่อื่น ๆ อยู่แล้ว และก็เคยคิดว่าถ้าย้ายงานนี้ไปให้ AI ทำได้บ้าง ก็น่าจะช่วยให้ผมโพสต์ได้สะดวกขึ้นหรือเปล่า ผมไม่ค่อยแน่ใจว่าจำเป็นต้องใช้ LLM ไหม และรู้สึกว่าเทคโนโลยีอย่าง CLIP ก็น่าจะเพียงพอแล้ว

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