2 คะแนน โดย GN⁺ 2024-11-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • hertz-dev เปิดตัวเป็นโมเดลพื้นฐานสำหรับเสียงโดยเฉพาะแบบ full-duplex ขนาด 8.5B พารามิเตอร์ ที่รองรับสถานการณ์ที่คนสองคนพูดพร้อมกันได้ จึงเป็นจุดเริ่มต้นสำหรับงานวิจัยเอเจนต์เสียงแบบเรียลไทม์
  • โครงสร้างแบ่งเป็น hertz-codec และ hertz-ar โดยแปลงเสียง 16kHz เป็น latent representation ที่ 8Hz จากนั้นทำนาย latent ของเสียงถัดไปแบบ autoregressive จากค่า latent ในอดีต
  • บน RTX 4090 เครื่องเดียว ค่า latency เฉลี่ยจริง benchmark ได้ที่ 120ms และระบุว่า latency เฉลี่ยเชิงทฤษฎีคือ 80ms ต่ำกว่าระดับดีที่สุดก่อนหน้า 2 เท่า
  • hertz-codec สร้าง latent 32 มิติ 1 ค่าในทุกเฟรม 125ms ส่วน hertz-ar ใช้ decoder-only transformer 40 เลเยอร์ 8.4B พารามิเตอร์ และ context ประมาณ 4.5 นาที
  • ไม่ใช่โมเดลเชิงผลิตภัณฑ์ที่ปรับด้วย reinforcement learning เพื่อลดความกว้างของ distribution การตอบสนอง แต่เป็น โมเดลพื้นฐานที่ทำนาย distribution ของข้อมูลฝึก จึงทำให้นักวิจัย fine-tune ให้เหมาะกับงานเสียงแบบโต้ตอบได้ง่าย

ปัญหาเสียงแบบโต้ตอบที่ Hertz-dev มุ่งแก้

  • สำหรับเอเจนต์แบบ interactive ที่เป็นธรรมชาติ audio modality ที่ตอบสนองทันทีมีความสำคัญมากกว่าข้อความ
  • แนวทาง generative audio แบ่งได้กว้าง ๆ เป็นแบบ diffusion-based และ autoregressive โดย diffusion model แข็งแกร่งสำหรับการสร้างเพลงหรือ sample สั้น ๆ แต่สำหรับเสียงสนทนาแบบโต้ตอบจริง ๆ วิธี autoregressive เหมาะสมกว่า
  • โจทย์หลักที่โมเดลสนทนาต้องแก้มี 2 ข้อ
    • การสร้างเสียงที่ฟังดูเหมือนมนุษย์ และการจัดการ interruption อย่างเป็นธรรมชาติ
    • การจัดการสถานการณ์ที่ช่องสัญญาณเรียลไทม์สองช่องสร้างข้อมูลพร้อมกัน เหมือนการสนทนาของมนุษย์ทั่วไป

โมเดลที่เปิดเผยและ latency

  • hertz-dev เป็นโมเดลพื้นฐานสำหรับเสียงโดยเฉพาะแบบ full-duplex ขนาด 8.5B พารามิเตอร์
  • ออกแบบให้เข้ากับรูปแบบผู้พูดสองคน จึง parse และสร้างเสียงของผู้พูดสองคนที่ซ้อนทับกันได้
  • ทำงานใน latent space ที่ใช้บิตเชิง phonetics แบบ quantized และ sample เพียง latent ค่าเดียวในแต่ละ timestep
  • มีการระบุ latency ดังนี้
    • latency เฉลี่ยเชิงทฤษฎี: 80ms
    • benchmark จริงบน RTX 4090 เครื่องเดียว: 120ms
    • เป็นตัวเลขที่ต่ำกว่าระดับดีที่สุดก่อนหน้า 2 เท่า

โครงสร้างโมเดล: hertz-codec และ hertz-ar

  • hertz-dev แบ่งเป็น 2 ส่วนประกอบ
    • hertz-codec: encode เสียงเป็น latent แล้ว reconstruct กลับเป็นเสียง
    • hertz-ar: ทำนาย latent ในอนาคตโดย condition จาก latent ในอดีต
  • latent ของเสียงถูกมองเป็น pre-trained representation ที่มีข้อมูลสมบูรณ์และใช้กับ downstream task ได้หลายแบบ
  • hertz-codec

    • hertz-codec เป็น convolutional audio VAE ที่รับเสียง mono 16kHz แล้ว encode เป็น latent representation 8Hz
    • ใช้ bitrate 1kbps ที่ regularize ด้วย KL
    • สำหรับ streaming inference ใช้ causal convolution และในเชิงฟังก์ชันจะเพิ่ม padding ทางซ้ายของ sequence
    • codec ส่งออกพารามิเตอร์ Gaussian ของ mean และ variance แล้ว sample เป็น latent 32 มิติ ค่าเดียวในทุกเฟรม 125ms
    • ในการประเมินเชิงอัตวิสัย hertz-codec ได้รับการประเมินว่าเหนือกว่า Soundstream และ Encodec ที่ 6kbps และอยู่ในระดับใกล้เคียงกับ DAC ที่ 8kbps
    • มีจำนวน token ต่อวินาทีต่ำกว่า tokenizer ยอดนิยม จึงเอื้อต่อ language modeling
    • องค์ประกอบพารามิเตอร์
      • Encoder: 5M พารามิเตอร์
      • Decoder: 95M พารามิเตอร์
    • checkpoint ที่เปิดเผย
      • inference_apatosaurus_95000.pt: weight ของ hertz-codec ที่ฝึกด้วย mixed reconstruction, adversarial loss และ KL regularization loss
      • inference_volcano_3.pt: hertz-codec quantizer ที่ distill บิตสำคัญทาง phonetics 15 บิตจากแต่ละ latent
  • hertz-ar

    • hertz-ar เป็น decoder-only transformer 40 เลเยอร์ 8.4B พารามิเตอร์
    • context อินพุตมี 2048 token เทียบเท่าประมาณ 4.5 นาที
    • latent เอาต์พุตสามารถส่งต่อไปยัง hertz-codec ได้
    • 32 เลเยอร์แรกใช้ latent history เป็นอินพุต เพื่อทำนาย projection แบบ quantized 15 บิต ของ token latent เสียงถัดไป
    • ส่วน 32 เลเยอร์นี้เรียกว่า hertz-lm และสามารถฝึกแยกต่างหากหรือ initialize จาก weight ของ language model ได้
    • 8 เลเยอร์สุดท้ายใช้ latent history และ latent quantized 15 บิต เพื่อทำนาย token latent เสียงในอนาคต
    • เสียงแบบ duplex ถูกจัดการเป็นงานหลังการฝึก
      • ต่อ projection head สองชุดเข้าด้วยกันแล้วแยกออก
      • ประมวลผลด้วย quantized projection pipeline สองชุดที่ condition ด้วย residual ของแต่ละฝ่าย
    • checkpoint ที่เปิดเผย

การสร้าง sample และตัวเลือกการฝึก

  • มีการให้ sample การสร้างแบบช่องสัญญาณเดียว, การสร้างแบบสองช่องสัญญาณ และการสนทนา live ระหว่างมนุษย์กับโมเดล เพื่อแสดงความสามารถด้าน audio modeling ของโมเดล
  • sample แบบ interactive มี prompt 9 วินาที รวมอยู่ด้วย
  • ตัวเลือกการฝึกหลักมีดังนี้
    • hertz-codec ใช้ Causal ConvNets เพื่อการ decode แบบขนานและการควบคุมการสร้าง latent ที่ละเอียดกว่า
    • latent quantized 15 บิตถูกฝึกช่วงต้นให้มีข้อมูล phonetics เพื่อชักนำให้โมเดลสร้างถ้อยคำที่ถูกต้องทาง syntax
    • การ quantize ทำโดยใส่ MLP projection เป็น Finite Scalar Quantization layer
    • สำหรับ hertz-lm มีการทำ ablation กับกลยุทธ์การ initialize สองแบบ และระบุว่าเรียนรู้ linguistics ได้อย่างมีประสิทธิภาพไม่ว่าจะ initialize จากโมเดลข้อความหรือไม่

วิธี inference แบบเรียลไทม์

  • ระหว่าง live inference โมเดลจะทำ forward pass 8 ครั้งต่อวินาที และสร้างต่อเนื่องแบบ autoregressive
  • อินพุตเป็นช่องสัญญาณแยกสองช่อง แต่ในการสนทนาจะส่งคืนเพียงช่องเดียว
  • ในแต่ละ step จะ tokenize เสียงของมนุษย์เป็น latent แล้วรวมกับ latent ล่าสุดที่โมเดลสร้าง ก่อนป้อนเข้า hertz-ar
  • latency วัดเป็นเวลาเฉลี่ยระหว่างคำพูดของผู้ใช้กับการตอบสนองของโมเดล
  • ค่า latency เฉลี่ยเชิงคำนวณคือ 62.5ms โดยรวมเวลาเฉลี่ยระหว่างการพูดแบบสุ่มกับการจบหนึ่ง token, เวลา forward pass และ round-trip internet latency
  • เมื่อรันบน RTX 4090 แบบ local latency เฉลี่ยจริงโดยทั่วไปคือ 120ms
  • latency ต่ำเป็นเงื่อนไขสำหรับการสร้างโมเดลที่โต้ตอบเหมือนมนุษย์ ไม่ให้รู้สึกเหมือนการคุยโทรศัพท์ที่ดีเลย์และสะดุด

ลักษณะการเปิดเผยและตำแหน่งการใช้งาน

  • hertz-dev ถูกแนะนำว่าเป็นโมเดลพื้นฐานแบบเปิดตัวแรกสำหรับเสียงแบบโต้ตอบ
  • ในที่นี้ โมเดลพื้นฐานหมายถึงโมเดลที่ทำนาย distribution ของข้อมูลฝึกได้อย่างแม่นยำ ไม่ใช่โมเดลที่ถูกปรับด้วย reinforcement learning จน distribution การสร้างแคบลงมาก
  • ด้วยลักษณะนี้ จึงเหมาะเป็นจุดเริ่มต้นสำหรับ fine-tuning ใน downstream task หลายแบบ
  • ทรัพยากรที่เกี่ยวข้อง

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

 
GN⁺ 2024-11-04
ความเห็นจาก Hacker News
  • นี่เจ๋งมาก ข้อมูลประกอบคือพวก เอนจินสังเคราะห์เสียงแบบโอเพนซอร์ส ที่มีอยู่ก่อนหน้านี้ ถ้าเทียบกับสิ่งที่แสดงไว้ที่นี่ถือว่ายังห่างพอสมควร ตอนนี้แม้จะเป็นแบบเสียงต่อเสียง แต่ถ้าขยายเป็นมัลติโหมดที่รับข้อความได้ด้วย ก็น่าจะมีความต้องการสูงมาก
    พูดอีกแบบคือมันจะกลายเป็นทั้งโมเดลเสียงต่อเสียงที่ยอดเยี่ยม และเป็น TTS ที่ดีมากไปด้วย อาจมีคนพยายามเลี่ยงด้วยการ fine-tune ให้เอาต์พุตแบบ Piper เล่นออกมาด้วยจังหวะและน้ำเสียงที่เป็นธรรมชาติมากขึ้น แต่ฟีเจอร์ที่ รับข้อความแบบเนทีฟ น่าจะมีประโยชน์มากกว่าการต่อท่อข้อความ LLM → Piper → Hertz-dev เยอะ

    • ถ้าทีมมี 4 คน ผมว่าโฟกัสกับอย่างเดียวจะดีกว่ากระจายไปหลายทิศทาง
    • เห็นด้วย ใช่เลย Piper เองก็ใช้ได้ดีอยู่แล้ว ถ้ามีโมเดลนี้มารวมด้วยก็น่าจะดีมาก
      แต่ก็ไม่จำเป็นว่าทีมนี้ต้องเป็นคนทำเองโดยตรง
  • เขาบอกว่า Hertz เป็นตัวแรก แต่จริง ๆ แล้ว Moshi ที่ออกเมื่อต้นปีนี้ก็เป็นโมเดลเสียงสองทางที่ทำงานคล้ายกัน และรันบน MacBook ได้ด้วย: https://github.com/kyutai-labs/moshi

    • Moshi ไม่ได้เปิดโมเดลฐานออกมา และเปิดแค่โมเดลที่ fine-tune สำหรับการสนทนา 2 ตัวเท่านั้น นอกจาก codec แล้วก็ไม่ได้เปิด โค้ดการฝึก ออกมาด้วย
      ส่วน Hertz เองก็เหมือนจะมีแค่โน้ตบุ๊กสำหรับ inference 3 อันกับโค้ดโมเดลที่เต็มไปด้วย no_grad แต่ไม่มีโค้ดฝึก ไม่มี paper ด้วย เลยเข้าใจได้ยากว่าฝึกมายังไงและสถาปัตยกรรมเป็นแบบไหน ถ้าผมไม่ได้พลาดอะไรไปก็ยังเรียกว่าเป็นมิตรกับงานวิจัยได้ไม่เต็มปาก
    • LLaMA-Omni https://github.com/ictnlp/LLaMA-Omni เป็นโมเดลภาษา-เสียงที่สร้างข้อความและเสียงพร้อมกันโดยอิงจาก Llama-3.1-8B-Instruct
      moshi https://github.com/kyutai-labs/moshi เป็นโมเดลแบบเสียง-ข้อความที่ใช้ Mimi ซึ่งเป็นสตรีมมิง neural audio codec รุ่นใหม่ ส่วน Mini-Omni https://github.com/gpt-omni/mini-omni เป็นมัลติโหมด LLM บนฐาน Qwen2 ที่รองรับอินพุตและเอาต์พุตเสียง และ Ichigo https://github.com/homebrewltd/ichigo เป็นโครงการวิจัยแบบเปิดที่ขยาย LLM แบบข้อความให้มีความสามารถในการฟังแบบเนทีฟด้วยเทคนิค early fusion
    • Moshi เป็นโมเดลที่ดีสำหรับสร้างแอปแชต แต่ตัวนี้ดูเหมือนถูกออกแบบให้ใกล้กับโมเดลฐานที่จริงจังกว่า ซึ่งมีทั้งความแปลกเฉพาะแบบโมเดลฐาน ความเป็นธรรมชาติ และ ความเป็นมิตรต่อการวิจัย
  • ที่ Tesla ตัด lidar กับเซนเซอร์อื่นออกไปก่อน แล้วโฟกัสกับ การขับขี่อัตโนมัติที่อิงภาพล้วน ก็ดูเหมือนเป็นกลยุทธ์เพื่อทำให้เทคโนโลยีเข้าถึงง่ายขึ้นและขยายได้ดีขึ้น
    ถ้าโฟกัสกับโมเดล vision-only ก็อาจเปิดใช้งานได้เร็ว เก็บข้อมูลขนาดใหญ่ได้ และวนปรับปรุงได้ไวขึ้นด้วย ถ้าระบบที่อิงภาพพัฒนาจนสุกงอมพอแล้ว Tesla ก็อาจกลับมาผสานข้อมูลจากเซนเซอร์อย่าง lidar หรือเรดาร์อีกครั้ง เพื่อทำให้ชุดผลิตภัณฑ์ขับขี่อัตโนมัติแข็งแรงและสมบูรณ์ขึ้น
    ผมเคยคิดคล้าย ๆ กันกับระบบโต้ตอบด้วยเสียง ตอนนี้ส่วนใหญ่จะเปลี่ยนเสียงเป็นข้อความ สร้างคำตอบเป็นข้อความ แล้วค่อยแปลงกลับเป็นเสียง แต่ถ้าฝึกให้ ตอบกลับเป็นเสียงได้โดยตรง โดยไม่ผ่านข้อความ ก็อาจให้คำตอบที่เป็นธรรมชาติและสดกว่าได้ เพราะคำพูดธรรมชาติมีทั้งโครงสร้างเฉพาะ จังหวะ ความต่างของสำเนียงและโทน ดังนั้นระบบที่เรียนจากเสียงล้วนก็น่าจะดูเป็นมนุษย์และน่าสนใจกว่า
    ผมเลยสงสัยว่าโมเดลโต้ตอบด้วยเสียงในปัจจุบันยังทำตามกระบวนการมาตรฐานแบบเสียง→ข้อความ→เสียงอยู่ หรือกำลังสำรวจการประมวลผลแบบเสียงต่อเสียงกันแล้ว

    • ผมเป็นหนึ่งในผู้พัฒนา โมเดลของเราเป็น เสียงต่อเสียง แบบเต็มรูปแบบ และนี่แหละคือเหตุผลที่ตอนสร้าง hertz-dev เราไม่ได้ใช้ข้อความเลย
    • ย่อหน้าที่สองฟังดูเหมือนกำลังอธิบาย ChatGPT Advanced Voice Mode หรือ Realtime API
  • เจ๋งมาก ตอนนี้ผมกำลังดูเรื่อง VUI (voice user interface) อยู่ น่าจะมีประโยชน์
    ผมอาจมีอคติหน่อยเพราะเคยทำปริญญาเอกด้านการศึกษาว่า VUI ใช้วิธีโน้มน้าวคนอย่างไร แต่ผมคิดว่า VUI คืออนาคตของการปฏิสัมพันธ์กับคอมพิวเตอร์ อย่างน้อยถึงไม่ใช่อนาคตทั้งหมด มันก็อาจเปิดผู้ใช้กลุ่มใหม่อย่างเด็กและผู้สูงอายุได้

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

  • มันเป็น LLM ชนิดหนึ่งใช่ไหม โดย prompt ก็เป็นเสียง และผลลัพธ์ที่สร้างออกมาก็เป็นเสียง เป็น audio LLM ประมาณนั้นหรือเปล่า?

    • ใช่ เท่าที่ผมดูมันก็น่าจะทำงานแบบนั้นพอดี
  • ผมสงสัยว่าไอเดียเรื่อง “การยุบตัวของการแจกแจงเชิงกำเนิด” เป็นหัวข้อที่มีการวิจัยกันหรือเปล่า ถ้ามีอยากรู้ว่ามันถูกเรียกว่าอะไร
    ประเด็นที่ว่าโมเดลฐานเรียนรู้การแจกแจงของข้อมูลฝึกได้แม่นยำ ขณะที่โมเดลที่ผ่านการปรับด้วย reinforcement learning หนัก ๆ จะทำให้การแจกแจงของผลลัพธ์แคบลง เลยทำให้โมเดลฐานเป็นจุดเริ่มที่ดีกว่าสำหรับการ fine-tune ไปทำหลายงาน ฟังดูน่าสนใจมาก ดูจะเกี่ยวกับ continual learning และวิธี fine-tune ที่ถูกต้องด้วย

  • ถ้าอยาก pretrain hertz-dev base model เป็นภาษาอื่น ต้องทำอย่างไร? มีข้อมูลเกี่ยวกับเรื่องนี้ให้ดูจากที่ไหนบ้าง

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

  • มีผู้เขียนคนไหนช่วยอธิบายได้ไหมว่าประโยคนี้ในบทความจริง ๆ หมายถึงอะไร
    hertz-vae: ทรานส์ฟอร์มเมอร์ดีโคเดอร์ขนาด 1.8 พันล้านพารามิเตอร์ที่ทำหน้าที่เป็น prior ที่เรียนรู้แล้วของ audio VAE ใช้ latent representation ที่สุ่มมา 8192 ตัว หรือบริบทความยาว 17 นาที และทำนายเฟรมเสียงที่ถูกเข้ารหัสถัดไปด้วย Gaussian mixture โดยข้อมูล quantization 15 บิตของโทเค็นถัดไปทำหน้าที่เป็นฐานความหมายที่ช่วยชี้นำการสร้างแบบสตรีมได้

    • ผมเดาว่าน่าจะประมาณนี้ ก่อนอื่น codec ดูเหมือนจะบีบอัดเสียง sample rate 16k ให้เหลือ 8 ตัวอย่างต่อวินาทีด้วย convolution แล้วทำ vector quantization เป็น 128 บิตเพื่อให้ได้ codec
      จำนวนบิตระดับนี้ไม่พอจะใช้แทนเสียงจริงได้เลย น่าจะตั้งใจใช้แทนสิ่งอย่างหน่วยเสียงมากกว่า vae ดูเหมือนโมเดล diffusion ที่อิง VAE โดยใช้ codec เป็น prompt และ dev ก็ดูเหมือนเป็นโมเดลที่ทำนาย codec ถัดไป
      ภาพรวมของกระบวนการน่าจะเป็นการ tokenize prompt ด้วย codec แล้วถ้าต้องการเสียงเพิ่มอีก s วินาที ก็ใช้ dev ทำนายโทเค็นเพิ่มอีก 8 * s ตัว จากนั้นใช้โมเดล diffusion ใน vae แปลงกลับเป็นเสียง