Original Title: A Study on VLSI Design for Real-Time Large Vocabulary Continuous Speech Recognition
Source: hdl.handle.net
Disclaimer: Summary generated by AI based on the provided document. Please refer to the original paper for full scientific accuracy.

ការសិក្សាលើការរចនា VLSI សម្រាប់ការសម្គាល់សំឡេងនិយាយជាបន្តបន្ទាប់ដែលមានវាក្យសព្ទធំក្នុងពេលជាក់ស្តែង

ចំណងជើងដើម៖ A Study on VLSI Design for Real-Time Large Vocabulary Continuous Speech Recognition

អ្នកនិពន្ធ៖ Guangji He

ឆ្នាំបោះពុម្ព៖ 2015 Kobe University

វិស័យសិក្សា៖ Computer Science and Electrical Engineering

១. សេចក្តីសង្ខេបប្រតិបត្តិ (Executive Summary)

បញ្ហា (The Problem)៖ ប្រព័ន្ធកម្មវិធីសម្គាល់សំឡេងនិយាយជាបន្តបន្ទាប់ដែលមានវាក្យសព្ទធំ (LVCSR) ទាមទារធនធានច្រើន និងស៊ីថាមពលខ្ពស់ ដែលបង្កការលំបាកក្នុងការប្រើប្រាស់លើឧបករណ៍ចល័ត និងមនុស្សយន្តឆ្លាតវៃ។

វិធីសាស្ត្រ (The Methodology)៖ ការស្រាវជ្រាវនេះបានស្នើឡើងនូវការធ្វើឱ្យប្រសើរលើក្បួនដោះស្រាយ និងការរចនាបន្ទះឈីប VLSI ចំនួនបីជំនាន់ដោយផ្អែកលើគំរូ Hidden Markov Model (HMM) ដើម្បីដោះស្រាយបញ្ហាទាំងនេះ។

លទ្ធផលសំខាន់ៗ (The Verdict)៖

២. ការវិភាគលើប្រសិទ្ធភាព និងដែនកំណត់ (Performance & Constraints)

វិធីសាស្ត្រ (Method) គុណសម្បត្តិ (Pros) គុណវិបត្តិ (Cons) លទ្ធផលគន្លឹះ (Key Result)
HMM1 (First Chip)
បន្ទះឈីប HMM1 (ជំនាន់ទីមួយ)
មានស្ថាបត្យកម្មឃ្លាំងសម្ងាត់ (Cache) ឯកទេស និង GMM ប៉ារ៉ាឡែល ដែលកាត់បន្ថយការចូលប្រើអង្គចងចាំបានយ៉ាងច្រើនពីខាងក្រៅ។ នៅប្រើប្រាស់ថាមពលច្រើនជាងគេ (144 mW) បើធៀបនឹងបន្ទះឈីបជំនាន់ក្រោយរបស់ខ្លួន។ ដំណើរការពេលវេលាជាក់ស្តែង (Real-time) ក្នុងល្បឿន 126.5 MHz ដោយប្រើថាមពល 144 mW និងកាត់បន្ថយកម្រិតបញ្ជូនបាន 95%។
HMM2 (Second Chip)
បន្ទះឈីប HMM2 (ជំនាន់ទីពីរ)
ប្រើប្រាស់បច្ចេកទេសបង្ហាប់ទិន្នន័យ (Compression-decoding) និង 4-path Viterbi ដែលជួយសន្សំសំចៃទំហំផ្ទៃ (Area) ផ្ទុកបាន 30%។ កម្រិតនៃការពន្លឿនដំណើរការ Viterbi នៅមានកម្រិតបើធៀបនឹងបន្ទះឈីបជំនាន់ទីបី។ កាត់បន្ថយការប្រើប្រាស់ថាមពលមកត្រឹម 74.14 mW ក្នុងល្បឿន 83.3 MHz សម្រាប់ដំណើរការជាក់ស្តែង។
HMM3 (Third Chip)
បន្ទះឈីប HMM3 (ជំនាន់ទីបី)
ប្រើប្រាស់ឃ្លាំងសម្ងាត់ពីរជាន់ (Two-level cache), 8-path Viterbi និងម៉ូដែលភាសា 3-gram កាត់បន្ថយការពន្យារពេល (Latency) បានយ៉ាងល្អបំផុត។ វាមានប្រសិទ្ធភាពសន្សំថាមពលខ្ពស់បំផុត។ ភាពស្មុគស្មាញនៃការរចនាផ្នែករឹងមានកម្រិតខ្ពស់ដោយសារការប្រើប្រាស់កម្រិត Cache ច្រើនជាន់ និង 8-path Viterbi។ ស៊ីភ្លើងតិចបំផុតត្រឹម 54.8 mW ក្នុងល្បឿន 62.5 MHz និងអាចដំណើរការលឿនជាងជាក់ស្តែងដល់ទៅ 3 ដងនៅល្បឿន 200 MHz។
Julius Software System
ប្រព័ន្ធកម្មវិធី Julius (ប្រព័ន្ធគោល)
ងាយស្រួលក្នុងការអភិវឌ្ឍ និងកែសម្រួលដោយសារវាជាកម្មវិធី (Software) ដែលរត់លើកុំព្យូទ័រទូទៅ។ ទាមទារការគណនា និងកម្រិតបញ្ជូនអង្គចងចាំ (Memory bandwidth) ខ្ពស់ខ្លាំង ដែលធ្វើឲ្យវាស៊ីថាមពលច្រើន មិនស័ក្តិសមសម្រាប់ឧបករណ៍ចល័តតូចៗ។ ប្រើប្រាស់កម្រិតបញ្ជូនអង្គចងចាំច្រើន ដែលបន្ទះឈីបដែលបានស្នើអាចកាត់បន្ថយការប្រើប្រាស់នេះបានដល់ទៅ 95-98% ធៀបនឹងប្រព័ន្ធនេះ។

ការចំណាយលើធនធាន (Resource Cost)៖ ការស្រាវជ្រាវនេះផ្តោតលើការរចនាផ្នែករឹងកម្រិតខ្ពស់ (Hardware Design) ដែលទាមទារឧបករណ៍ ថវិកា និងកម្មវិធីជំនាញសម្រាប់ការរចនា និងផលិតបន្ទះឈីប VLSI (Very Large Scale Integration)។

៣. ការពិនិត្យសម្រាប់បរិបទកម្ពុជា/អាស៊ីអាគ្នេយ៍

ភាពលំអៀងនៃទិន្នន័យ (Data Bias)៖

ការសិក្សានេះត្រូវបានធ្វើឡើងនៅសាកលវិទ្យាល័យ Kobe ប្រទេសជប៉ុន ដោយផ្តោតលើការរចនាបន្ទះឈីបជាជាងការស្ថាបនាសំណុំទិន្នន័យ (Dataset)។ ទោះជាយ៉ាងណាក៏ដោយ ក្បួនដោះស្រាយ HMM/GMM និងការពន្លឿនផ្នែករឹងនេះ អាចយកមកអនុវត្តជាមួយទិន្នន័យសំឡេងគ្រប់ភាសា រួមទាំងភាសាខ្មែរ។ វាមានសារៈសំខាន់សម្រាប់កម្ពុជាក្នុងការអភិវឌ្ឍប្រព័ន្ធសម្គាល់សំឡេងដែលដំណើរការដោយមិនប្រើអ៊ីនធឺណិត (Offline) លើឧបករណ៍ចល័ត។

លទ្ធភាពនៃការអនុវត្ត (Applicability)៖

ការរចនាបន្ទះឈីបស៊ីថាមពលតិចសម្រាប់ការសម្គាល់សំឡេងនេះ មានសក្តានុពលខ្ពស់ក្នុងការយកមកអនុវត្តសម្រាប់វិស័យបច្ចេកវិទ្យានៅកម្ពុជា ជាពិសេសលើឧបករណ៍ចល័ត និង IoT។

ជារួម បច្ចេកវិទ្យានេះផ្តល់នូវមូលដ្ឋានគ្រឹះដ៏ល្អសម្រាប់ការអភិវឌ្ឍប្រព័ន្ធបញ្ញាសិប្បនិមិត្តលើឧបករណ៍ចុងកាត់ (Edge AI) ដែលជួយកាត់បន្ថយការពឹងផ្អែកលើប្រព័ន្ធ Cloud ដោះស្រាយបញ្ហាអ៊ីនធឺណិតយឺត និងសន្សំសំចៃថាមពល។

៤. ផែនការសកម្មភាពសម្រាប់និស្សិត (Actionable Roadmap)

ដើម្បីអនុវត្តតាមការសិក្សានេះ និស្សិតគួរអនុវត្តតាមជំហានខាងក្រោម៖

  1. សិក្សាអំពីក្បួនដោះស្រាយចំណុចស្នូល: និស្សិតត្រូវស្វែងយល់ពីទ្រឹស្តីនៃ Hidden Markov Model (HMM), Gaussian Mixture Model (GMM) និង Viterbi Algorithm ដែលជាមូលដ្ឋានដ៏សំខាន់នៃប្រព័ន្ធសម្គាល់សំឡេងប្រពៃណី។
  2. អនុវត្តការរចនាផ្នែករឹងកម្រិតមូលដ្ឋាន: ចាប់ផ្តើមរៀនភាសាសរសេរកូដផ្នែករឹងដូចជា VerilogSystemVerilog និងប្រើប្រាស់បន្ទះ FPGA (Field Programmable Gate Array) ដើម្បីសាកល្បងដំណើរការក្បួនដោះស្រាយគណិតវិទ្យាសាមញ្ញៗ។
  3. សិក្សាពីស្ថាបត្យកម្មអង្គចងចាំ និងការបង្កើនល្បឿន: ស្រាវជ្រាវពីរបៀបបង្កើតនិងប្រើប្រាស់ Cache Architecture ព្រមទាំងបច្ចេកទេស Pipelining ដើម្បីកាត់បន្ថយការពន្យារពេល (Latency) ក្នុងការទាញយកទិន្នន័យពីអង្គចងចាំ។
  4. បណ្តុះបណ្តាលម៉ូដែលសំឡេងភាសាខ្មែរ: ប្រើប្រាស់ឧបករណ៍បើកចំហរដូចជា KaldiJulius ជាមួយសំណុំទិន្នន័យភាសាខ្មែរដើម្បីបង្កើត Language Model និង Acoustic Model មុននឹងបម្លែងការគណនាទាំងនោះទៅជាការរចនាផ្នែករឹង។
  5. អនុវត្តគម្រោងជាក់ស្តែងតាមរយៈសាកលវិទ្យាល័យ: ស្នើសុំធ្វើគម្រោងស្រាវជ្រាវ (Thesis/Project) ពាក់ព័ន្ធនឹង Hardware Acceleration for AI ដោយប្រើបន្ទះ XilinxIntel FPGA ក្រោមការណែនាំពីសាស្ត្រាចារ្យជំនាញនៅកម្ពុជា។

៥. វាក្យសព្ទបច្ចេកទេស (Technical Glossary)

ពាក្យបច្ចេកទេស ការពន្យល់ជាខេមរភាសា (Khmer Explanation) និយមន័យសាមញ្ញ (Simple Definition)
VLSI ដំណើរការនៃការបង្កើតសៀគ្វីរួមបញ្ចូលគ្នា (IC) ដោយការរួមបញ្ចូលត្រង់ស៊ីស្ទ័ររាប់លាននៅលើបន្ទះឈីបស៊ីលីកូនតែមួយ ដើម្បីបង្កើតជាខួរក្បាលកុំព្យូទ័រឬបន្ទះឈីបសម្រាប់ដំណើរការជាក់លាក់។ ដូចជាការសង់ទីក្រុងដ៏ធំមួយដែលមានផ្ទះរាប់លានខ្នងនៅលើដីតូចមួយប៉ុនក្រចកដៃ។
Hidden Markov Model (HMM) ម៉ូដែលស្ថិតិដែលប្រើដើម្បីសន្មត់ស្ថានភាពដែលមិនអាចមើលឃើញ (អក្សរឬពាក្យ) ដោយផ្អែកលើទិន្នន័យដែលអាចមើលឃើញ (សូរសំឡេងដែលបញ្ចេញ) ដែលគេប្រើប្រាស់ជាទូទៅក្នុងការសម្គាល់សំឡេង។ ដូចជាការព្យាយាមទាយថាតើអាកាសធាតុថ្ងៃនេះភ្លៀងឬអត់ ដោយគ្រាន់តែមើលថាតើមិត្តភក្តិរបស់អ្នកកាន់ឆ័ត្រមកឬអត់ដោយមិនបានមើលមេឃ។
Gaussian Mixture Model (GMM) ម៉ូដែលប្រូបាប៊ីលីតេដែលប្រើសម្រាប់គណនាភាពស្រដៀងគ្នានៃសូរសំឡេងដែលប្រមូលបានទៅនឹងទម្រង់សំឡេងស្តង់ដារនីមួយៗ ដើម្បីកំណត់ថាតើសំឡេងនោះជាតួអក្សរអ្វី។ ដូចជាការប្រើប្រាស់ពុម្ពច្រើនប្រភេទដើម្បីយកមកប្រៀបធៀបទំហំនិងរូបរាងជើងរបស់អ្នក ដើម្បីរកមើលថាតើស្បែកជើងមួយណាដែលត្រូវនឹងអ្នកបំផុត។
Viterbi computation ក្បួនដោះស្រាយសម្រាប់ស្វែងរកផ្លូវ ឬលំដាប់លំដោយនៃពាក្យដែលត្រឹមត្រូវបំផុត (មានប្រូបាប៊ីលីតេខ្ពស់បំផុត) ពីក្នុងបណ្តាញនៃជម្រើសពាក្យជាច្រើន បន្ទាប់ពីទទួលបានសូរសំឡេង។ ដូចជាការប្រើប្រាស់កម្មវិធីវាយទីតាំង (GPS) ដើម្បីស្វែងរកផ្លូវដែលលឿននិងល្អបំផុតពីផ្ទះទៅសាលារៀន ក្នុងចំណោមផ្លូវខ្វាត់ខ្វែងជាច្រើន។
Beam pruning បច្ចេកទេសកាត់បន្ថយជម្រើសក្នុងការគណនាដោយរក្សាទុកតែជម្រើសណាដែលមានពិន្ទុខ្ពស់ (ជម្រើសដែលទំនងជាត្រឹមត្រូវបំផុត) និងលុបចោលជម្រើសដែលមានពិន្ទុទាប ដើម្បីសន្សំសំចៃអង្គចងចាំ និងបង្កើនល្បឿន។ ដូចជាការប្រឡងជម្រុះ ដោយជ្រើសរើសយកតែអ្នកដែលទទួលបានពិន្ទុខ្ពស់ជាងគេ១០នាក់បន្តទៅវគ្គបន្ទាប់ ហើយជម្រុះអ្នកដទៃចោលដើម្បីចំណេញពេលវេលា។
Cache architecture ការរចនាអង្គចងចាំខ្នាតតូចដែលមានល្បឿនលឿនបំផុតបំពាក់នៅលើបន្ទះឈីបផ្ទាល់ ដើម្បីផ្ទុកទិន្នន័យដែលប្រើញឹកញាប់ ជួយកាត់បន្ថយការពន្យារពេលក្នុងការទាញទិន្នន័យពីអង្គចងចាំធំ (DRAM) ខាងក្រៅ។ ដូចជាការដាក់សៀវភៅដែលអ្នកត្រូវអានញឹកញាប់នៅលើតុរៀនផ្ទាល់ ដើម្បីងាយស្រួលយក ជាជាងដើរទៅយកពីទូសៀវភៅរាល់ដង។
tri-gram language model ម៉ូដែលភាសាដែលទស្សន៍ទាយពាក្យបន្ទាប់ដោយផ្អែកលើពាក្យដែលនៅខាងមុខវាចំនួន២ពាក្យ (ពាក្យទី៣ពឹងផ្អែកលើពាក្យទី១ និងទី២) ដើម្បីបង្កើនភាពត្រឹមត្រូវនៃការសម្គាល់ប្រយោគ។ ដូចជាមុខងារវាយអក្សរឆ្លាតវៃ (Predictive text) នៅលើក្ដារចុចទូរស័ព្ទរបស់អ្នក ដែលលោតទាយពាក្យបន្ទាប់ឱ្យអ្នកដោយស្វ័យប្រវត្តិ។

៦. ប្រធានបទពាក់ព័ន្ធ (Further Reading)

អត្ថបទដែលបានបោះពុម្ពនៅលើ KhmerResearch ដែលទាក់ទងនឹងប្រធានបទនេះ៖

ប្រធានបទ និងសំណួរស្រាវជ្រាវដែលទាក់ទងនឹងឯកសារនេះ ដែលអ្នកអាចស្វែងរកបន្ថែម៖