2 คะแนน โดย GN⁺ 2023-12-14 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • รันโมเดล Whisper large ด้วย เฟรมเวิร์ก MLX สำหรับ Apple Silicon เพื่อเปรียบเทียบช่องว่างระหว่างแล็ปท็อปกับ GPU ประสิทธิภาพสูงในการถอดเสียงไฟล์เสียง 10 นาที
  • ในเงื่อนไขพื้นฐาน MacBook M1 Pro ใช้เวลา 216 วินาที, ส่วน RTX 4090 ใช้ 186 วินาที ทำให้ RTX 4090 เร็วกว่าอยู่ราว 30 วินาที หรือประมาณ 16%
  • เมื่อใช้ insanely-fast-whisper บน RTX 4090 การถอดเสียงด้วย whisper-large-v3 ลดเหลือเพียง 8 วินาที แสดงให้เห็นว่าการปรับแต่งโมเดลและอิมพลีเมนเทชันสามารถเปลี่ยนผลการเปรียบเทียบฮาร์ดแวร์ได้มาก
  • การรันบน macOS ผ่าน MPS ใช้เวลา 4 นาที 23 วินาที และ M2 Ultra 76 GPU core กับ M3 Max 40 GPU core ต่างก็เร็วกว่า M1 มาก โดยมีความเร็วใกล้เคียงกัน
  • การใช้พลังงานเพิ่มขึ้นคือ PC ที่ใช้ RTX 4090 เพิ่ม +242W จากสถานะว่าง ขณะที่ MacBook M1 Pro เพิ่ม +38W และผลทั้งหมดนี้ไม่ใช่เบนช์มาร์กที่แม่นยำแบบเข้มงวด แต่เป็นการเปรียบเทียบเพื่อดูภาพรวมประสิทธิภาพของ MLX

รันเบนช์มาร์ก Whisper ด้วย MLX

  • Apple เปิดตัวเฟรมเวิร์กแมชชีนเลิร์นนิง MLX สำหรับ Apple Silicon และใช้ตัวอย่าง Whisper ที่ให้มาด้วยในการทดสอบเบนช์มาร์ก
  • มีการเพิ่มไฟล์ใหม่เข้าไปในคลังเก็บเบนช์มาร์ก Whisper เดิม แล้วถอดเสียงไฟล์เสียงเดียวกันด้วยโมเดล whisper large ที่ดาวน์โหลดไว้แล้ว
  • โค้ดที่ใช้รันจะเรียก transcribe(audio=audio_file, model='large') จากนั้นวัดเวลารวมจากส่วนต่างระหว่างเวลาเริ่มต้นและเวลาสิ้นสุด
  • ผลลัพธ์ที่คืนกลับมาเป็นรายการของเซกเมนต์ โดยแต่ละเซกเมนต์มีฟิลด์อย่าง avg_logprob, compression_ratio, start, end, text, tokens
  • โครงสร้างผลลัพธ์นี้เหมือนกับตอนรัน Python Whisper บน RTX 4090

ผลลัพธ์พื้นฐาน: M1 Pro และ RTX 4090

  • สำหรับไฟล์เสียงความยาว 10 นาที เวลาในการรันของ M1 Pro + MLX คือ 0:03:36.296329 หรือประมาณ 216 วินาที
  • สำหรับไฟล์เดียวกัน เวลาในการรันของ Nvidia RTX 4090 วัดได้ที่ 0:03:06.707770 หรือประมาณ 186 วินาที
  • RTX 4090 เร็วกว่า M1 Pro ราว 30 วินาที หรือคิดเป็นประมาณ 16%
  • ระหว่างการวัด GPU core ทั้งหมดของ M1 Pro ถูกใช้งานเต็มที่ และได้ปิดโปรแกรมอื่นรวมถึงองค์ประกอบอย่างพื้นหลังเดสก์ท็อป
  • อย่างไรก็ตาม หากใช้โมเดลที่ปรับแต่งมาสำหรับ Nvidia เวลาในการถอดเสียงของ RTX 4090 สามารถลดลงเหลือเพียง 8 วินาที

ฮาร์ดแวร์ที่ใช้ทดสอบ

  • MacBook

    • MacBook M1 Pro ขนาด 14 นิ้ว รุ่นปี 2021
    • CPU 8 คอร์: คอร์ประสิทธิภาพ 6 คอร์, คอร์ประหยัดพลังงาน 2 คอร์
    • RAM 32GB
    • GPU 16 คอร์
  • PC

    • Intel Core i7-12700KF 8×3.60GHz
    • RAM 2×32GB 3200MHz DDR4 Kingston FURY Beast
    • Kingston KC3000 PCIe 4.0 NVMe 1000GB SSD
    • อ่าน 7000MB/s, เขียน 6000MB/s
    • GeForce RTX 4090 24GB GDDR6X, Palit RTX 4090 GameRock OmniBlack

insanely-fast-whisper เปลี่ยนการเปรียบเทียบอย่างไร

  • ในคอมเมนต์บน Hacker News มีผลการรันไฟล์ 10 นาทีเดียวกันด้วย insanely-fast-whisper และ RTX 4090
  • สำหรับ whisper-large-v3 การถอดเสียงเสร็จในเวลาไม่ถึง 8 วินาที และถ้านับรวมเวลาโหลดโมเดลก่อนเริ่มถอดเสียงด้วย จะอยู่ที่ 15 วินาที
  • จากนั้นได้ลองรันเองด้วยคำสั่ง insanely-fast-whisper --file-name audio.mp3 --flash True และยืนยันการถอดเสียงที่ใช้เวลา 8 วินาที
  • ในล็อกผลลัพธ์มีคำเตือนเกี่ยวกับ Flash Attention 2 และการย้ายไปยัง GPU แต่การถอดเสียงเสร็จสมบูรณ์และสร้าง output.json ขึ้นมา
  • บน macOS สามารถรันด้วย --device mps --batch-size 4 และใช้เวลา 0:04:23 สำหรับการถอดเสียงไฟล์เดียวกัน

อัปเดต M2 Ultra และ M3 Max

  • Ivan ได้รันไฟล์เสียงเดียวกันบน M2 Ultra 76 GPU core และ M3 Max 40 GPU core
  • ทั้งสองระบบให้ผลลัพธ์เร็วกว่า M1 Pro มาก และมีความเร็วใกล้เคียงกัน
  • ตัวเลขเปรียบเทียบเหล่านี้อาจมองเป็นเบนช์มาร์กที่แม่นยำ 100% ไม่ได้ เพราะโปรเซสอื่น เวลาโหลด และ cold start กับ warm start อาจส่งผลต่อผลลัพธ์

การใช้พลังงานและข้อจำกัดของการวัด

  • ความต่างของการใช้พลังงานระหว่างสถานะว่างกับตอนรัน GPU วัดด้วย Shelly plug
  • PC เพิ่มขึ้น +242W จากสถานะว่างเมื่อรัน RTX 4090
  • MacBook เพิ่มขึ้น +38W จากสถานะว่างเมื่อรัน M1 GPU 16 คอร์
  • การวัดพลังงานเองก็ไม่ใช่ค่าที่แม่นยำ 100% แต่ใกล้เคียงกับค่าที่ใช้อ้างอิงเพื่อดูแนวโน้ม
  • การทดสอบทั้งหมดนี้เป็นการเปรียบเทียบเพื่อแสดงคร่าว ๆ ว่าเฟรมเวิร์ก MLX สามารถให้ประสิทธิภาพได้ประมาณไหน มากกว่าจะเป็นการวัดเชิงวิทยาศาสตร์

บริบทการใช้งานจริง

  • จุดประสงค์ของการทดสอบเชื่อมโยงกับการดำเนินงานของเสิร์ชเอนจินพอดแคสต์ podpodgogo.com
  • มีการถอดเสียงพอดแคสต์หลายหมื่นตอน ทำให้ค้นหาแบบ full-text ได้ และยังทำ data mining บางส่วนด้วย
  • ประวัติการอัปเดต
    • 11 ธันวาคม: เพิ่มสเปกฮาร์ดแวร์และการทดสอบเพิ่มเติมที่ไม่รวมเวลาโหลดโมเดล
    • 12 ธันวาคม: ระบุ RTX 4090 ว่าเป็นกราฟิกการ์ดสำหรับผู้บริโภคที่เร็วที่สุด และอัปเดตตัวเลข M2/M3
    • 13 ธันวาคม: ยืนยันคอมเมนต์บน Hacker News เกี่ยวกับ Whisper ที่ปรับแต่งสำหรับ Nvidia

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

 
GN⁺ 2023-12-14
ความคิดเห็นจาก Hacker News
  • ถ้าไม่ได้รัน Whisper บน 4090 แบบไร้ประสิทธิภาพมาก ผลลัพธ์นี้ก็ดูน่าสงสัย
    ฉันมีทั้ง 3090 และ M1 Max 32GB แม้จะยังไม่ได้ลอง Whisper แต่ความต่างด้านประสิทธิภาพในการอนุมานของ Llama และ Stable Diffusion นั้นมหาศาล โดยเฉพาะกับ Stable Diffusion ที่ SDXL ใช้เวลาประมาณ 9 วินาทีบน 3090 แต่บน M1 Max ใช้ราว 1 นาที 10 วินาที

    • นี่คือการนำตัวเลขอนุมานของ โมเดล latent diffusion อย่าง SDXL มาเหมารวมกับการอนุมานของ encoder-decoder transformer อย่าง Whisper
      สถาปัตยกรรมของทั้งสองโมเดลแทบไม่มีจุดร่วมกันเลย และแม้ Stable Diffusion จะใช้ text encoder ที่พรีเทรนมาจาก CLIP แต่นั่นก็ยังต่างจาก encoder-decoder transformer มาก
    • การปรับแต่ง Whisper บน Apple Silicon นั้นทำกันมาเยอะแล้ว และ whisper.cpp ก็เป็นตัวอย่างที่ใช้ประโยชน์จากข้อดีนั้นได้ดี
      อีกอย่าง บทความนี้พูดถึงเฟรมเวิร์ก MLX ใหม่ของ Apple ดังนั้นมีโอกาสสูงว่าการทดสอบ Llama หรือ Stable Diffusion จะไม่ได้ใช้มัน
    • แม้เอกสารจะยังอยู่ในช่วงแรก แต่พอดูเอกสารของ MLX แล้ว convolution ซึ่งถูกใช้มากใน GAN และโดยเฉพาะ Stable Diffusion ดูแทบไม่ได้รับการปรับปรุงที่มีนัยสำคัญใน MLX และบางกรณีก็ดูช้ากว่า CPU ด้วยซ้ำ
      ไม่แน่ใจว่าเป็นข้อจำกัดของฮาร์ดแวร์หรือเป็นเพราะไลบรารี MLX ยังปรับแต่งไม่พอ แต่ก็ไม่น่าใช่ว่าจะมองข้ามเคสการใช้งานที่เด่นชัดแบบนี้ไปเฉย ๆ
      คำอธิบายที่น่าจะเป็นไปได้มากกว่าคือ convolution ใช้ความแม่นยำสูงและชุดไทล์ที่ใหญ่กว่ามาก ทำให้ต้องมีการสลับ context ที่มีต้นทุนสูงเมื่อทรานส์ฟอร์มทั้งหมดไม่พอดีกับ GPU
    • ฉันมีทั้ง 4090 และ M1 Max 64GB และใน Llama 2 นั้น 4090 เหนือกว่ามาก
    • จากที่ใช้ Whisper มามาก ฉันเจอเวอร์ชันที่ให้คุณภาพเท่ากันแต่ใช้หน่วยความจำน้อยกว่าและเร็วกว่าอยู่ หนึ่งถึงสองหลัก โดยยังไม่เข้าใจเหตุผลทั้งหมด
      ดังนั้นถ้าไม่ใช่ซอฟต์แวร์เดียวกันและโมเดลเดียวกัน สัญชาตญาณเรื่องประสิทธิภาพของ Whisper ต้องใช้ด้วยความระมัดระวังมาก
      และถึงจะเหมือนกันทั้งหมด ความหมายของการเปรียบเทียบก็ยังจำกัดอยู่ดี เพราะแต่ละแพลตฟอร์มต้องการการปรับแต่งเฉพาะตัว
  • ดูเหมือนว่านี่จะใช้รีโพซิทอรี OpenAI Whisper
    ถ้าจะเทียบให้เหมาะสม ควรเอา faster-whisper หรือ insanely-fast-whisper บน 4090 มาเทียบกับ MLX
    faster-whisper ทำงานแบบลำดับต่อเนื่อง ส่วน insanely-fast-whisper จะประมวลผลเสียงเป็นช่วงละ 30 วินาที
    ฉันใช้ Whisper ในโปรดักชันอยู่ และพบว่าคุณภาพดีกว่าเมื่อรวมข้อความจากช่วงก่อนหน้าเข้าไปด้วย เลยใช้ faster-whisper
    โดยคร่าว ๆ faster-whisper มักเร็วกว่า OpenAI/whisper ราว 4–5 เท่า และ insanely-fast-whisper ก็อาจเร็วกว่า faster-whisper อีก 3–4 เท่า

    • สงสัยว่า insanely-fast-whisper จะเร็วพอให้ถอดเสียงแบบเรียลไทม์บน CPU ได้ไหม
      โมเดลที่นี่ดูเหมือนยังเป็น fp16 ไม่ใช่โมเดล quantized ดังนั้นน่าจะยังมีช่องให้เร็วขึ้นได้อีก
      แก้ไข: เห็นว่าตอนนี้ยังไม่รองรับการอนุมานบน CPU และถ้าเพิ่มเข้ามาก็น่าสนใจดี
    • สงสัยว่า insanely-fast-whisper ใช้ beam size 5 หรือ 1
      อยากรู้การเทียบความเร็วตอนตั้งเป็น 5 ด้วย และในอุดมคติก็ควรเปิดพารามิเตอร์นี้ให้ผู้ใช้ปรับได้
      ฉันต้องจัดการกับเสียงที่คุณภาพแย่มาก ดังนั้นคุณภาพการถอดเสียงจึงสำคัญ การเทียบความเร็วที่แลกมาด้วยคุณภาพสำหรับฉันจึงมีความหมายน้อย
  • ประเด็นสำคัญของโพสต์นี้คือมันใช้ Apple MLX ที่เพิ่งเปิดตัวใหม่ และโค้ดก็ใช้การปรับแต่งที่เฉพาะสำหรับ Apple
    https://news.ycombinator.com/item?id=38539153

    • มันไม่ได้ถูกนำไปเทียบกับ implementation ของ Nvidia ที่ผ่านการปรับแต่งแล้วด้วยซ้ำ
      สำหรับ Whisper มี implementation ที่เร็วกว่าอยู่
      แก้ไข: โดนหลอกให้สนใจจนได้ เลยโหลดไฟล์ 10 นาทีที่ใช้ในโพสต์มาลองรันด้วย insanely-fast-whisper บน 4090 และติดตั้งใช้แค่สองคำสั่ง
      สำหรับ whisper-large-v3 การถอดเสียงไฟล์เสร็จในไม่ถึง 8 วินาที และถ้ารวมเวลาโหลดโมเดลก่อนเริ่มถอดเสียงก็เป็น 15 วินาที
      เวลาเพิ่มส่วนนี้แน่นอนว่าไม่ได้ขึ้นกับความยาวของเสียง
      ถ้าอย่างนั้น 4090 ก็เร็วกว่าเครื่อง Apple ระดับสูงสุดอยู่ 6–12 เท่า
      ถ้ามีพีซีเกมมิงที่เสียบใช้อยู่แล้ว มันก็ถูกกว่า M2 Ultra มาก และถึงจะซื้อพีซีประกอบสำเร็จที่มี 4090 ใหม่ก็ยังถูกกว่าอยู่ดี
      ไม่ใช่เรื่องน่าแปลกใจ แต่ดูเหมือนจะมี wishful thinking อยู่มากจากคนที่มี Mac ระดับสูงและอยากเชื่อว่าเครื่องของตัวเองเก่งทุกอย่าง
      ชิป Apple M series น่าประทับใจมากและ RAM ขนาดใหญ่ก็ยอดเยี่ยม แต่ในงานแมชชีนเลิร์นนิงสมรรถนะสูงนั้นสู้ Nvidia ได้ยาก
    • พูดตามตรง ฉันไม่เข้าใจว่าทำไมต้องใส่ใจเรื่องนี้
      ถ้ามี Mac ก็จะใช้ประสิทธิภาพของ Mac เครื่องนั้น และถ้ามีพีซีเกมมิงก็จะใช้ประสิทธิภาพของพีซีเครื่องนั้น
      ต่อให้มีทั้งสองอย่าง สุดท้ายก็มักจะใช้ AI ที่รันบนเครื่องที่ตัวเองใช้อยู่ทุกวัน
  • สงสัยว่าถ้าเทียบกับ insanely-fast-whisper จะเป็นอย่างไร: https://github.com/Vaibhavs10/insanely-fast-whisper
    เข้าใจว่า ถ้าไม่ใช้การปรับแต่งก็พอจะเทียบแบบ 1:1 ได้ แต่ถ้าการปรับแต่งนั้นยังไม่ได้พอร์ตมาเป็น MLX ก็ยังรู้สึกว่าการใช้ 4090 น่าจะดีกว่าอยู่ดี
    ช่วงหลังได้ลองดู MLX มา บน Mac ดูมีแววว่าจะได้รับความนิยมแน่ ๆ และถ้ามี Swift binding ก็น่าจะไปได้ดีบน iOS ด้วย: https://github.com/ml-explore/mlx/issues/15
    แต่ตอนนี้อาจยังติดปัญหาเรื่องการคอมไพล์ C++20 อยู่

    • ตรงนี้แหละคือจุดแข็งของ Nvidia
      ต่อให้ฮาร์ดแวร์ตัวไหนชนะในเบนช์มาร์ก ถ้าเป็นโมเดลยอดนิยมก็มักจะมี CUDA implementation ที่ปรับแต่งกันแบบลงมือทำอย่างหนักออกมา แล้วทิ้งตัวอื่นแบบไม่เห็นฝุ่น
      ก็มีข้อยกเว้นที่พบได้ไม่บ่อย เช่น GPT-Fast บน AMD ที่ทำงานได้ดีในบางกรณีใช้งานเฉพาะทางแคบ ๆ เพราะ PyTorch ลงแรงกับ torch.compile
      แต่ฝั่ง Apple Silicon นึกข้อยกเว้นแบบนั้นไม่ออกเลย
    • ถ้าจะเทียบกันให้ถูกต้อง ควรรัน โค้ด insanely-fast-whisper บน 4090
      คิดว่าน่าจะชนะเบนช์มาร์กทั้งสองในบทความต้นฉบับได้แบบสบาย ๆ แต่ขนาดแบตช์น่าจะต้องตั้งให้เล็กกว่า 24 มาก
      ถ้าวัดตามมาตรฐานทุกวันนี้ Whisper ที่ทำได้แค่ 3–4 เท่าของเวลาจริงถือว่าช้ามาก ดังนั้นเบนช์มาร์กนี้ CPU ก็น่าจะชนะได้
    • บทความอัปเดตด้วยผลของ insanely-fast แล้ว
  • สงสัยว่าสิ่งนี้ใช้ได้กับโมเดลอื่นด้วยไหม หรือเป็นเพราะเลือกกรณีที่เข้าทางจาก ลักษณะการทำงานแบบลำดับ ของ Whisper กับการคำนวณจำนวนเต็ม
    https://github.com/ml-explore/mlx-examples/tree/main/stable_... ดูเหมือนจะบอกใบ้ไปในทางนั้น

    At the time of writing this comparison convolutions are still some of the least optimized operations in MLX.
    ประเด็นสำคัญน่าจะเป็นการใช้ RAM ความเร็วสูงขนาดเกิน 64GB ที่ต่ออยู่กับ CPU/GPU โดยตรงได้ พร้อมข้อได้เปรียบด้าน latency และการเข้าถึงร่วมกัน
    ถ้าดูจากชุดพลังงานของระบบเหล่านี้ ตัวเลขก็น่าประทับใจจริง
    แต่ก็ต้องคำนึงด้วยว่าราคา M3 Max รุ่น RAM ขั้นต่ำก็ราว ๆ 2 เท่าของ 4090

    • ที่บอกว่าหน่วยความจำของ Apple Silicon เร็ว ก็เป็นการเทียบกับ CPU ฝั่งผู้บริโภคที่ติดอยู่กับ หน่วยความจำ 2 แชนเนล มานาน
      ในยุค 4 คอร์อาจพอรับได้ แต่กับจำนวนคอร์สมัยใหม่มันไม่สมเหตุสมผลแล้ว
      ความสามารถในการขยายหน่วยความจำของ GPU ดีกว่ามากแม้แต่ในตลาดผู้บริโภค
  • การรัน Whisper บน Mac M1 ทำได้ไม่ยาก แต่ตามค่าเริ่มต้นจะไม่ได้ใช้ MLX
    ผมเสียเวลาไปชั่วโมงสองชั่วโมงเพื่อหาว่าต้องติดตั้งและตั้งค่าอะไรบ้างถึงจะใช้ MLX ได้ แล้วก็เจอ Python error กับ Torch error ที่ไม่รู้สาเหตุ
    สุดท้ายยอมแพ้แล้วไปเช่า VM ที่มี GPU แทน และสามารถรัน Whisper ได้ภายในไม่กี่นาที

    • ใช้งาน Whisper GUI สำหรับ macOS ตัวนี้อยู่และถือว่าดีทีเดียว: https://goodsnooze.gumroad.com/l/macwhisper
      ไม่ได้ใช้ MLX แต่ใช้ Metal
    • บนเครื่อง M2 Max สามารถทำตามตัวอย่างแล้วรันด้วย MLX ได้ภายในไม่กี่นาที: https://github.com/ml-explore/mlx-examples/tree/main/whisper
    • ใช้ผลิตภัณฑ์นี้สำหรับ Whisper อยู่: https://betterdictation.com/
    • เพิ่งออกเมื่อสัปดาห์ที่แล้ว ดังนั้นควรให้เวลาอีกสักหนึ่งหรือสองเดือน
  • แม้จะมีข้อถกเถียงมากมายว่าอะไรคือทางเลือกที่ดีที่สุดแบบเด็ดขาดสำหรับงาน X แต่ผมชอบที่มันให้ประสิทธิภาพระดับนี้ได้ด้วย การใช้พลังงาน ที่ต่ำขนาดนี้

  • แต่ถ้าใช้ fork ของ Whisper ตัวนี้ เสียงยาว 1 ชั่วโมงก็ถอดความได้ในเวลาไม่ถึง 1 นาทีบน GPU ส่วนใหญ่: https://github.com/Vaibhavs10/insanely-fast-whisper

    • จากที่ลองเอง ctranslate2 บางครั้งกลับเร็วกว่า insanely-fast-whisper อีก
      บน L4 แม้จะตั้งขนาดแบตช์ของ ctranslate2 ต่ำแค่ 4 ก็ยังชนะเบนช์มาร์กเหล่านั้นทั้งหมด ยกเว้น A100 ที่ใช้ flash attention 2
      เสียดายที่โหมดแบตช์ไม่เคยเข้าไปอยู่ใน faster-whisper เสียที ซึ่งอาจเป็นเหตุผลว่าทำไมคนถึงไม่ค่อยได้ลอง ctranslate2 กันง่าย ๆ
    • อยากรู้รายละเอียดว่ามันทำได้อย่างไร และเมื่อเทียบกับต้นฉบับแล้ว คุณภาพต่างกัน ไหม
      รีโพอย่าง https://github.com/SYSTRAN/faster-whisper เข้าใจได้ทันทีว่าทำไมถึงเร็วกว่า implementation ดั้งเดิม และตัวอื่น ๆ ก็เร็วขึ้นเพราะลดความละเอียดของการ quantize แต่แลกกับผลลัพธ์ที่แย่ลง
      แต่กรณีนี้กลับไม่ชัดเจนเป็นพิเศษว่าทำไมถึงเร็วกว่า
      ยิ่งพอเห็นว่ามันเร็วกว่ามากก็ยิ่งน่าสงสัย
  • พอนึกถึง Vision Pro ของ Apple แล้วยิ่งน่าสนใจ
    การรันโมเดลอย่างประหยัดพลังงานอาจไม่ใช่เรื่องสำคัญสำหรับทุกคนบนแล็ปท็อป แต่สำหรับเฮดเซ็ตที่กินไฟมากอยู่แล้ว นี่เป็นข้อได้เปรียบใหญ่

  • อยากขอคำแนะนำ
    มีแอปหรือเวิร์กโฟลว์โอเพนซอร์ซที่ดีสำหรับ การถอดเสียงและแยกผู้พูด ไหม?
    ลองดู https://github.com/thomasmol/cog-whisper-diarization กับ https://about.transcribee.net/ แล้ว แต่ทั้งคู่ทำงานได้ไม่ค่อยดี เช่น มีอาการแครช

    • ผมทำโซลูชันใช้เองขึ้นมา ซึ่งค่อนข้างเรียบง่าย
      แบ่ง MP3 ออกเป็นชิ้น ๆ ที่ Whisper จัดการได้ แล้วส่งเข้า API ทีละชิ้นเพื่อถอดเสียง
      เท่าที่ผ่านมาก็ทำงานตามคาด และใช้โค้ด Python แค่ไม่กี่บรรทัด