แชร์ประสบการณ์ Train Model RVC ด้วย Applio บนการ์ดจอ AMD

เขียนสั้นๆแล้วกันนะครับ เพราะผมก็ยังไม่เข้าใจมาก, ตอนนี้ใช้การ์ดจอ RX 9070 XT
ก่อนหน้านี้ ผมหาโปรแกรม เทรนโมเดล RVC (Retrieval-based Voice Conversion)
บน Windows เจอแต่โปรแกรมที่มันรับรองแต่การ์ด Nvidia หรือ CPU
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
ที่รองรับการเทรนด้วยการ์ด AMD ก็มีแต่มันก็ต้องผ่านตัวกลาง ZLUDA มันเป็นการแปลงคำสั่งที่จะส่งไปการ์ด Nvidia
ให้สามารถทำงานบนการ์ดจอ AMD ได้, ผมลองแล้วมันใช้ไม่ได้ (อาจจะใช้ได้กับ RDNA3 แต่ไม่ใช่การ์ดผม)
มันเรียกหาไฟล์ .dll ที่ต้องการไม่เจอทั้งๆที่เพิ่มไปใน PATH แล้ว, ไฟล์มันก็อยู่ใน PATH, เหมือนอยู่ดีๆ ZULDA จะไม่เห็นไปเอง
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
เพื่อที่จะเทรนโมเดลด้วยการ์ดจอ AMD, ตอนนี้ผมจะเหลือ 2 ทางที่จะสามารถ เทรนโมเดล RVC ได้
pytorch-directml   -   ประมาณว่าเป็น Library การคำนวณ ML,AI โดยผ่าน DirectX12,
                                 ซึ่งไม่มีโปรแกรมเทรน RVC ตัวไหนเลยถูกเขียนมาเพื่อ Support Library นี้, ตัวเลือกนี้ก็ตกไป
native-linux          -   pytorch-rocm สามารถทำงานได้บน Linux แบบ native เลย, ไม่ต้องผ่านการแปลงใดๆ
                                 และ pytorch-rocm สามารถใช้ code ร่วมกับ pytorch-cuda ได้, มันแปลว่า สามารถใช้วิธีติดตั้งแบบการ์ด Nvidia ได้
                                 แต่พอจะใช้โปรแกรมจริงๆให้ถอด Library pytorch-cuda ของ Nvidia ทิ้งแล้วลงทับด้วย pytorch-rocm แทน
                                 จะสามารถใช้งานได้โดยที่ไม่ต้องแก้ไข source code อะไรเลย,
                                 (เพิ่มเติมถ้าเป็นการ์ดจอ Intel จะได้แก้ลามไปยัง source code เท่าที่เห็นคือใช้รัน LLM ได้อย่างเดียว)

อะเคผมก็เลือก native-linux เพราะก็เล่นพอเป็นอยู่แล้ว, ก็ลงโปรแกรมติดตั้งตามที่เขียนไว้ข้างต้น,
โปรแกรมเห็นการ์ดจอแล้ว, ก็เริ่มเทรนโมเดล, แปปเดียวเท่านั้นแหละ โปรแกรมพัง, มันไม่ได้ทำงานได้แบบพร้อมทันทีเมื่อติดตั้งเสร็จ,
หลังจากการบังคับ environment variable มาสักพักจนจับจุดได้แล้ว
หลังจากที่เทรนได้นิ่งๆ สักพักใหญ่ที่ epoch step เดิมๆ โปรแกรมมันจะตายลงที่จุดเดิมๆ, หลังจากหาข้อมูลไปสักพักพบว่า


ตามนั้นเลยครับ ตัวโมดูล rocblastl hipblastl มันมีปัญหาต้องปิด, ไม่งั้นก็โปรแกรมพังอยู่นั่นแหละ, แล้วมันเปิดมาเป็นค่า default ด้วยนะกว่าจะหาเจอ


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