ចម្លើយខ្លី៖ ការដាក់ពង្រាយគំរូ AI មានន័យថាការជ្រើសរើសគំរូបម្រើ (ពេលវេលាជាក់ស្តែង បាច់ ស្ទ្រីម ឬគែម) បន្ទាប់មកធ្វើឱ្យផ្លូវទាំងមូលអាចបង្កើតឡើងវិញបាន អាចសង្កេតបាន មានសុវត្ថិភាព និងបញ្ច្រាស់បាន។ នៅពេលដែលអ្នកប្រើកំណែអ្វីៗគ្រប់យ៉ាង និងធ្វើការវាស់ស្ទង់ភាពយឺតយ៉ាវ p95/p99 លើ payloads ដែលស្រដៀងនឹងផលិតកម្ម អ្នកជៀសវាងការបរាជ័យ "ដំណើរការលើកុំព្យូទ័រយួរដៃរបស់ខ្ញុំ" ភាគច្រើន។
ចំណុចសំខាន់ៗ៖
គំរូដាក់ពង្រាយ៖ ជ្រើសរើសពេលវេលាជាក់ស្តែង បាច់ ស្ទ្រីម ឬគែម មុនពេលអ្នកប្តេជ្ញាចិត្តប្រើប្រាស់ឧបករណ៍។
សមត្ថភាពផលិតឡើងវិញ៖ ធ្វើការធ្វើកំណែគំរូ លក្ខណៈពិសេស កូដ និងបរិស្ថាន ដើម្បីទប់ស្កាត់ការរសាត់បាត់។
ភាពអាចសង្កេតបាន៖ តាមដានជាបន្តបន្ទាប់នូវកន្ទុយនៃភាពយឺតយ៉ាវ កំហុស ការតិត្ថិភាព និងការចែកចាយទិន្នន័យ ឬទិន្នផល។
ការដាក់ឱ្យប្រើប្រាស់ដោយសុវត្ថិភាព៖ ប្រើការធ្វើតេស្តពណ៌ស្វាយ ខៀវ-បៃតង ឬស្រមោលជាមួយនឹងកម្រិតកំណត់ការរំកិលថយក្រោយដោយស្វ័យប្រវត្តិ។
សុវត្ថិភាព និងភាពឯកជន៖ អនុវត្តការអនុញ្ញាត ដែនកំណត់អត្រា និងការគ្រប់គ្រងអាថ៌កំបាំង ព្រមទាំងកាត់បន្ថយ PII នៅក្នុងកំណត់ហេតុ។

អត្ថបទដែលអ្នកប្រហែលជាចង់អានបន្ទាប់ពីអត្ថបទនេះ៖
🔗 របៀបវាស់ស្ទង់សមត្ថភាព AI
ស្វែងយល់អំពីម៉ែត្រិច ស្តង់ដារ និងការត្រួតពិនិត្យក្នុងពិភពពិត ដើម្បីទទួលបានលទ្ធផល AI ដែលអាចទុកចិត្តបាន។.
🔗 របៀបធ្វើស្វ័យប្រវត្តិកម្មកិច្ចការជាមួយ AI
ប្រែក្លាយការងារដដែលៗទៅជាលំហូរការងារដោយប្រើការជំរុញ ឧបករណ៍ និងការរួមបញ្ចូល។.
🔗 របៀបសាកល្បងគំរូ AI
រចនាការវាយតម្លៃ សំណុំទិន្នន័យ និងការដាក់ពិន្ទុ ដើម្បីប្រៀបធៀបគំរូដោយគោលបំណង។.
🔗 របៀបនិយាយជាមួយ AI
សួរសំណួរកាន់តែប្រសើរ កំណត់បរិបទ និងទទួលបានចម្លើយច្បាស់លាស់ជាងមុនយ៉ាងឆាប់រហ័ស។.
១) តើពាក្យ «ការដាក់ពង្រាយ» មានន័យយ៉ាងណា (ហើយហេតុអ្វីបានជាវាមិនមែនគ្រាន់តែជា API) 🧩
នៅពេលដែលមនុស្សនិយាយថា "ដាក់ពង្រាយគំរូ" ពួកគេអាចមានន័យថាណាមួយដូចខាងក្រោម៖
-
បង្ហាញចំណុចបញ្ចប់ ដើម្បីឱ្យកម្មវិធីអាចហៅការសន្និដ្ឋានបានក្នុងពេលវេលាជាក់ស្តែង ( Vertex AI: ដាក់ពង្រាយគំរូទៅចំណុចបញ្ចប់ , Amazon SageMaker: ការសន្និដ្ឋានតាមពេលវេលាជាក់ស្តែង )
-
ដំណើរការការដាក់ពិន្ទុជាបាច់ ជារៀងរាល់យប់ ដើម្បីធ្វើបច្ចុប្បន្នភាពការព្យាករណ៍នៅក្នុងមូលដ្ឋានទិន្នន័យ ( Amazon SageMaker Batch Transform )
-
ការសន្និដ្ឋានស្ទ្រីម (ព្រឹត្តិការណ៍ចូលមកឥតឈប់ឈរ ការព្យាករណ៍ចេញមកឥតឈប់ឈរ) ( Cloud Dataflow៖ ម្តងយ៉ាងពិតប្រាកដ ធៀបនឹងយ៉ាងហោចណាស់ម្តង របៀប ស្ទ្រីម Cloud Dataflow )
-
ការដាក់ពង្រាយ Edge (ទូរស័ព្ទ កម្មវិធីរុករក ឧបករណ៍បង្កប់ ឬ "ប្រអប់តូចមួយនៅក្នុងរោងចក្រ") ( ការសន្និដ្ឋានលើឧបករណ៍ LiteRT ទិដ្ឋភាព ទូទៅ LiteRT )
-
ការដាក់ពង្រាយឧបករណ៍ផ្ទៃក្នុង (ចំណុចប្រទាក់អ្នកប្រើប្រាស់ (UI) សៀវភៅកត់ត្រា ឬស្គ្រីបដែលបានកំណត់ពេលសម្រាប់អ្នកវិភាគ)
ដូច្នេះការដាក់ពង្រាយគឺមិនសូវ "ធ្វើឱ្យគំរូអាចចូលដំណើរការបាន" ទេ ហើយមានលក្ខណៈដូចនេះ៖
-
ការវេចខ្ចប់ + ការបម្រើ + ការធ្វើមាត្រដ្ឋាន + ការត្រួតពិនិត្យ + ការគ្រប់គ្រង + ការស្ដារឡើងវិញ ( ការដាក់ពង្រាយពណ៌ខៀវ-បៃតង )
វាដូចជាការបើកភោជនីយដ្ឋានអញ្ចឹង។ ការចម្អិនម្ហូបដ៏អស្ចារ្យមួយមុខគឺសំខាន់ណាស់ ពិតណាស់។ ប៉ុន្តែអ្នកនៅតែត្រូវការអគារ បុគ្គលិក ទូរទឹកកក ម៉ឺនុយ ខ្សែសង្វាក់ផ្គត់ផ្គង់ និងវិធីដើម្បីដោះស្រាយការប្រញាប់ប្រញាល់អាហារពេលល្ងាចដោយមិនចាំបាច់យំនៅក្នុងទូរទឹកកក។ មិនមែនជាពាក្យប្រៀបធៀបដ៏ល្អឥតខ្ចោះទេ… ប៉ុន្តែអ្នកយល់ហើយ។ 🍝
២) អ្វីដែលធ្វើឱ្យកំណែល្អនៃ “របៀបដាក់ពង្រាយគំរូ AI” ✅
«ការដាក់ពង្រាយដ៏ល្អ» គឺគួរឱ្យធុញទ្រាន់ណាស់។ វាមានឥរិយាបថដែលអាចព្យាករណ៍ទុកជាមុនបានក្រោមសម្ពាធ ហើយនៅពេលដែលវាមិនដូច្នោះទេ អ្នកអាចធ្វើរោគវិនិច្ឆ័យវាបានយ៉ាងឆាប់រហ័ស។.
នេះជាអ្វីដែល "ល្អ" ជាធម្មតាមើលទៅដូច៖
-
ការបង្កើតដែលអាចបង្កើតឡើងវិញបាន
កូដដូចគ្នា + ការពឹងផ្អែកដូចគ្នា = ឥរិយាបថដូចគ្នា។ គ្មានអារម្មណ៍ "ដំណើរការលើកុំព្យូទ័រយួរដៃរបស់ខ្ញុំ" ដ៏គួរឱ្យខ្លាចទេ 👻 ( Docker: តើកុងតឺន័រជាអ្វី? ) -
កិច្ចសន្យាចំណុចប្រទាក់ច្បាស់លាស់
ការបញ្ចូល លទ្ធផល គ្រោងការណ៍ និងករណីគែមត្រូវបានកំណត់។ គ្មានប្រភេទការភ្ញាក់ផ្អើលនៅម៉ោង 2 ព្រឹកទេ។ ( OpenAPI: តើ OpenAPI ជាអ្វី? , JSON Schema ) -
ដំណើរការដែលត្រូវនឹងភាពជាក់ស្តែង
ភាពយឺតយ៉ាវ និងអត្រាទិន្នផលដែលវាស់វែងលើផ្នែករឹងដែលស្រដៀងនឹងផលិតកម្ម និងបន្ទុកជាក់ស្តែង។ -
ការត្រួតពិនិត្យជាមួយធ្មេញ
ម៉ែត្រិក កំណត់ហេតុ ដាន និងការត្រួតពិនិត្យការរសាត់ដែលបង្កឱ្យមានសកម្មភាព (មិនមែនគ្រាន់តែផ្ទាំងគ្រប់គ្រងទេដែលគ្មាននរណាម្នាក់បើក)។ ( សៀវភៅ SRE៖ ការត្រួតពិនិត្យប្រព័ន្ធចែកចាយ ) -
យុទ្ធសាស្ត្រដាក់ឲ្យប្រើប្រាស់ដោយសុវត្ថិភាព
Canary ឬខៀវ-បៃតង ងាយស្រួលត្រឡប់ទៅប្រើវិញ កំណែដែលមិនតម្រូវឲ្យមានការអធិស្ឋាន។ ( ការចេញផ្សាយ Canary , ការដាក់ឲ្យប្រើប្រាស់ខៀវ-បៃតង ) -
ការយល់ដឹងអំពីតម្លៃ
“លឿន” គឺអស្ចារ្យណាស់រហូតដល់វិក្កយបត្រមើលទៅដូចជាលេខទូរស័ព្ទ 📞💸 -
សុវត្ថិភាព និងភាពឯកជនដែលរួមបញ្ចូលនៅក្នុង
ការគ្រប់គ្រងអាថ៌កំបាំង ការគ្រប់គ្រងការចូលប្រើ ការដោះស្រាយ PII និងលទ្ធភាពធ្វើសវនកម្ម។ ( Kubernetes Secrets , NIST SP 800-122 )
ប្រសិនបើអ្នកអាចធ្វើរឿងទាំងនោះបានជាប់លាប់ អ្នកបាននាំមុខក្រុមភាគច្រើនរួចហើយ។ ចូរនិយាយដោយស្មោះត្រង់ទៅ។.
៣) ជ្រើសរើសគំរូដាក់ពង្រាយត្រឹមត្រូវ (មុនពេលអ្នកជ្រើសរើសឧបករណ៍) 🧠
ការសន្និដ្ឋាន API ពេលវេលាជាក់ស្តែង ⚡
ល្អបំផុតនៅពេល៖
-
អ្នកប្រើប្រាស់ត្រូវការលទ្ធផលភ្លាមៗ (អនុសាសន៍ ការត្រួតពិនិត្យការក្លែងបន្លំ ការជជែក ការកំណត់ផ្ទាល់ខ្លួន)
-
ការសម្រេចចិត្តត្រូវតែកើតឡើងក្នុងអំឡុងពេលស្នើសុំ
ការប្រុងប្រយ័ត្ន៖
-
ភាពយឺតយ៉ាវនៃ p99 មានសារៈសំខាន់ជាងមធ្យមភាគ ( The Tail at Scale , SRE Book: Monitoring Distributed Systems )
-
ការធ្វើមាត្រដ្ឋានដោយស្វ័យប្រវត្តិត្រូវការការលៃតម្រូវដោយប្រុងប្រយ័ត្ន ( ការធ្វើមាត្រដ្ឋានដោយស្វ័យប្រវត្តិ Kubernetes Horizontal Pod )
-
ការចាប់ផ្តើមត្រជាក់អាចមានលក្ខណៈលួចលាក់… ដូចជាឆ្មារុញកែវចេញពីតុ ( វដ្តជីវិតនៃបរិស្ថានប្រតិបត្តិ AWS Lambda )
ការដាក់ពិន្ទុជាបាច់ 📦
ល្អបំផុតនៅពេល៖
-
ការព្យាករណ៍អាចត្រូវបានពន្យារពេល (ការដាក់ពិន្ទុហានិភ័យពេញមួយយប់ ការព្យាករណ៍ការបញ្ឈប់ការងារ ការបង្កើន ETL) ( Amazon SageMaker Batch Transform )
-
អ្នកចង់បានប្រសិទ្ធភាពចំណាយ និងប្រតិបត្តិការសាមញ្ញជាង
ការប្រុងប្រយ័ត្ន៖
-
ភាពស្រស់ថ្លានៃទិន្នន័យ និងការបំពេញទិន្នន័យឡើងវិញ
-
ការរក្សាតក្កវិជ្ជាលក្ខណៈពិសេសឱ្យស្របនឹងការបណ្តុះបណ្តាល
ការសន្និដ្ឋានស្ទ្រីម 🌊
ល្អបំផុតនៅពេល៖
-
អ្នកដំណើរការព្រឹត្តិការណ៍ជាបន្តបន្ទាប់ (IoT, clickstreams, ប្រព័ន្ធត្រួតពិនិត្យ)
-
អ្នកចង់បានការសម្រេចចិត្តស្ទើរតែភ្លាមៗដោយមិនចាំបាច់ឆ្លើយតបនឹងសំណើរយ៉ាងតឹងរ៉ឹង
ការប្រុងប្រយ័ត្ន៖
-
អត្ថន័យម្តងយ៉ាងពិតប្រាកដ ធៀបនឹងយ៉ាងហោចណាស់ម្តង ( Cloud Dataflow៖ ម្តងយ៉ាងពិតប្រាកដ ធៀបនឹងយ៉ាងហោចណាស់ម្តង )
-
ការគ្រប់គ្រងរដ្ឋ, ការព្យាយាមឡើងវិញ, ច្បាប់ចម្លងចម្លែកៗ
ការដាក់ពង្រាយគែម 📱
ល្អបំផុតនៅពេល៖
-
ភាពយឺតយ៉ាវទាបដោយមិនពឹងផ្អែកលើបណ្តាញ ( ការសន្និដ្ឋាន LiteRT នៅលើឧបករណ៍ )
-
ការរឹតបន្តឹងឯកជនភាព
-
បរិស្ថានក្រៅបណ្តាញ
ការប្រុងប្រយ័ត្ន៖
-
ទំហំម៉ូដែល, ថ្ម, បរិមាណ, ការបែងចែកផ្នែករឹង ( បរិមាណក្រោយការបណ្តុះបណ្តាល (ការបង្កើនប្រសិទ្ធភាពម៉ូដែល TensorFlow) )
-
ការអាប់ដេតពិបាកជាង (អ្នកមិនចង់បានកំណែចំនួន 30 នៅក្នុងពិភពពិតទេ…)
ជ្រើសរើសលំនាំជាមុនសិន បន្ទាប់មកជ្រើសរើសជង់។ បើមិនដូច្នោះទេ អ្នកនឹងបង្ខំគំរូការ៉េឱ្យចូលទៅក្នុងពេលដំណើរការរាងមូល។ ឬអ្វីមួយដូចនោះ។ 😬
៤) វេចខ្ចប់ម៉ូដែល ដើម្បីឱ្យវានៅរស់រានមានជីវិតពីការប៉ះពាល់ជាមួយផលិតកម្ម 📦🧯
នេះជាកន្លែងដែល "ការដាក់ពង្រាយងាយស្រួល" ភាគច្រើនស្លាប់ដោយស្ងាត់ស្ងៀម។.
កំណែទាំងអស់ (បាទ/ចាស៎ ទាំងអស់)
-
វត្ថុបុរាណគំរូ (ទម្ងន់ ក្រាហ្វ ឧបករណ៍បង្កើតសញ្ញាសម្គាល់ ផែនទីស្លាក)
-
តក្កវិជ្ជាលក្ខណៈពិសេស (ការបំលែង, ការធ្វើឱ្យមានលក្ខណៈធម្មតា, ឧបករណ៍អ៊ិនកូដឌ័រ)
-
កូដសន្និដ្ឋាន (មុន/ក្រោយដំណើរការ)
-
បរិស្ថាន (Python, CUDA, libs ប្រព័ន្ធ)
វិធីសាស្រ្តសាមញ្ញមួយដែលដំណើរការ៖
-
ចាត់ទុកគំរូដូចជាវត្ថុបុរាណដែលចេញផ្សាយ
-
រក្សាទុកវាជាមួយស្លាកកំណែ
-
តម្រូវឱ្យមានឯកសារទិន្នន័យមេតាដូចកាតគំរូ៖ គ្រោងការណ៍ ម៉ែត្រ កំណត់ចំណាំសង្ខេបទិន្នន័យបណ្តុះបណ្តាល ដែនកំណត់ដែលគេស្គាល់ ( កាតគំរូសម្រាប់ការរាយការណ៍គំរូ )
កុងតឺន័រជួយបាន ប៉ុន្តែកុំគោរពបូជាវាអី 🐳
កុងតឺន័រគឺអស្ចារ្យព្រោះវា៖
-
បង្កកភាពអាស្រ័យ ( Docker: តើកុងតឺន័រជាអ្វី? )
-
ធ្វើឱ្យការសាងសង់មានលក្ខណៈស្តង់ដារ
-
ធ្វើឱ្យគោលដៅដាក់ពង្រាយមានភាពសាមញ្ញ
ប៉ុន្តែអ្នកនៅតែត្រូវគ្រប់គ្រង៖
-
ការអាប់ដេតរូបភាពមូលដ្ឋាន
-
ភាពឆបគ្នានៃកម្មវិធីបញ្ជា GPU
-
ការស្កេនសុវត្ថិភាព
-
ទំហំរូបភាព (គ្មាននរណាម្នាក់ចូលចិត្ត "hello world" ទំហំ 9GB ទេ) ( ការអនុវត្តល្អបំផុតរបស់ Docker build )
ធ្វើឲ្យចំណុចប្រទាក់មានស្តង់ដារ
សម្រេចចិត្តលើទម្រង់បញ្ចូល/បញ្ចេញរបស់អ្នកជាមុន៖
-
JSON សម្រាប់ភាពសាមញ្ញ (យឺតជាង ប៉ុន្តែងាយស្រួលប្រើ) ( គ្រោងការណ៍ JSON )
-
Protobuf សម្រាប់ដំណើរការ ( ទិដ្ឋភាពទូទៅនៃសតិបណ្ដោះអាសន្នពិធីការ )
-
បន្ទុកទិន្នន័យផ្អែកលើឯកសារសម្រាប់រូបភាព/អូឌីយ៉ូ (បូករួមទាំងទិន្នន័យមេតា)
ហើយសូមផ្ទៀងផ្ទាត់ការបញ្ចូល។ ការបញ្ចូលមិនត្រឹមត្រូវគឺជាមូលហេតុចម្បងនៃ "ហេតុអ្វីបានជាវាប្រគល់សំបុត្រមិនសមហេតុផល"។ ( OpenAPI: តើ OpenAPI ជាអ្វី? , JSON Schema )
៥) ជម្រើសបម្រើ - ពី "API សាមញ្ញ" រហូតដល់ម៉ាស៊ីនមេគំរូពេញលេញ🧰
មានផ្លូវទូទៅពីរ៖
ជម្រើស A៖ ម៉ាស៊ីនបម្រើកម្មវិធី + កូដសន្និដ្ឋាន (វិធីសាស្រ្តបែប FastAPI) 🧪
អ្នកសរសេរ API ដែលផ្ទុកគំរូ ហើយប្រគល់ការព្យាករណ៍។ ( FastAPI )
គុណសម្បត្តិ៖
-
ងាយស្រួលប្ដូរតាមបំណង
-
ល្អសម្រាប់ម៉ូដែលសាមញ្ញជាង ឬផលិតផលដំណាក់កាលដំបូង
-
ការអនុញ្ញាត ការបញ្ជូន និងការរួមបញ្ចូលដ៏សាមញ្ញ
គុណវិបត្តិ៖
-
ការលៃតម្រូវដំណើរការផ្ទាល់ខ្លួនរបស់អ្នក (ការចងក្រងជាបាច់ ខ្សែស្រឡាយ ការប្រើប្រាស់ GPU)
-
អ្នកនឹងបង្កើតកង់ឡើងវិញខ្លះ ប្រហែលជាមិនល្អនៅពេលដំបូង
ជម្រើស B៖ ម៉ាស៊ីនមេគំរូ (វិធីសាស្រ្ត TorchServe / Triton-style) 🏎️
ម៉ាស៊ីនបម្រើឯកទេសដែលដោះស្រាយ៖
-
ការផលិតជាបាច់ ( Triton: ការផលិតជាបាច់ថាមវន្ត និងការប្រតិបត្តិគំរូក្នុងពេលដំណាលគ្នា )
-
ក្នុងពេលដំណាលគ្នា ( Triton: ការប្រតិបត្តិគំរូក្នុងពេលដំណាលគ្នា )
-
ម៉ូដែលច្រើន
-
ប្រសិទ្ធភាព GPU
-
ចំណុចបញ្ចប់ស្តង់ដារ ( ឯកសារ TorchServe , ឯកសារ Triton Inference Server )
គុណសម្បត្តិ៖
-
គំរូដំណើរការកាន់តែប្រសើរឡើង
-
ការបែងចែកកាន់តែច្បាស់លាស់រវាងតក្កវិជ្ជានៃការបម្រើ និងតក្កវិជ្ជាអាជីវកម្ម
គុណវិបត្តិ៖
-
ភាពស្មុគស្មាញនៃប្រតិបត្តិការបន្ថែម
-
ការកំណត់រចនាសម្ព័ន្ធអាចមានអារម្មណ៍… រញ៉េរញ៉ៃ ដូចជាការកែតម្រូវសីតុណ្ហភាពផ្កាឈូក
លំនាំចម្រុះគឺជារឿងធម្មតាខ្លាំងណាស់៖
-
ម៉ាស៊ីនបម្រើគំរូសម្រាប់ការសន្និដ្ឋាន ( Triton: ការបាច់ជាបាច់ថាមវន្ត )
-
ច្រកទ្វារ API ស្តើងសម្រាប់ការអនុញ្ញាត ការបង្កើតសំណើ ច្បាប់អាជីវកម្ម និងការកំណត់អត្រា ( ការរឹតបន្តឹងច្រកទ្វារ API )
៦) តារាងប្រៀបធៀប - វិធីពេញនិយមក្នុងការដាក់ពង្រាយ (ជាមួយនឹងភាពស្មោះត្រង់) 📊😌
ខាងក្រោមនេះគឺជាទិដ្ឋភាពជាក់ស្តែងនៃជម្រើសដែលមនុស្សពិតជាប្រើនៅពេលស្វែងយល់ពី របៀបដាក់ពង្រាយគំរូ AI ។
| ឧបករណ៍ / វិធីសាស្រ្ត | ទស្សនិកជន | តម្លៃ | ហេតុអ្វីបានជាវាដំណើរការ |
|---|---|---|---|
| Docker + FastAPI (ឬស្រដៀងគ្នា) | ក្រុមតូចៗ, ក្រុមហ៊ុនចាប់ផ្តើមអាជីវកម្មថ្មី | សេរី | សាមញ្ញ អាចបត់បែនបាន ដឹកជញ្ជូនលឿន - អ្នកនឹង "មានអារម្មណ៍" រាល់បញ្ហាធ្វើមាត្រដ្ឋាន ( Docker , FastAPI ) |
| Kubernetes (ធ្វើដោយខ្លួនឯង) | ក្រុមវេទិកា | ពឹងផ្អែកលើអ៊ីនហ្វ្រារ៉េដ | ការគ្រប់គ្រង + សមត្ថភាពធ្វើមាត្រដ្ឋាន… ក៏មានប៊ូតុងជាច្រើនដែរ ដែលខ្លះត្រូវបានបណ្តាសា ( Kubernetes HPA ) |
| វេទិកា ML ដែលគ្រប់គ្រង (សេវាកម្ម ML លើពពក) | ក្រុមដែលចង់បានប្រតិបត្តិការតិចជាង | បង់ប្រាក់តាមដែលអ្នកធ្វើ | លំហូរការងារដាក់ពង្រាយដែលភ្ជាប់មកជាមួយ ទំពក់ត្រួតពិនិត្យ - ពេលខ្លះមានតម្លៃថ្លៃសម្រាប់ចំណុចបញ្ចប់ដែលបើកជានិច្ច ( ការដាក់ពង្រាយ Vertex AI ការ សន្និដ្ឋានពេលវេលាជាក់ស្តែងរបស់ SageMaker ) |
| អនុគមន៍គ្មានម៉ាស៊ីនមេ (សម្រាប់ការសន្និដ្ឋានស្រាល) | កម្មវិធីដែលជំរុញដោយព្រឹត្តិការណ៍ | បង់ក្នុងមួយការប្រើប្រាស់ | ល្អសម្រាប់ចរាចរណ៍ដែលមានការកកស្ទះ - ប៉ុន្តែការចាប់ផ្តើមត្រជាក់ និងទំហំម៉ូដែលអាចបំផ្លាញថ្ងៃរបស់អ្នក 😬 ( ការចាប់ផ្តើមត្រជាក់ AWS Lambda ) |
| ម៉ាស៊ីនបម្រើសន្និដ្ឋាន NVIDIA Triton | ក្រុមដែលផ្តោតលើការអនុវត្ត | កម្មវិធីឥតគិតថ្លៃ, ថ្លៃដើមហេដ្ឋារចនាសម្ព័ន្ធ | ការប្រើប្រាស់ GPU ដ៏ល្អឥតខ្ចោះ ការបែងចែកជាបាច់ ពហុម៉ូដែល - ការកំណត់រចនាសម្ព័ន្ធត្រូវការការអត់ធ្មត់ ( Triton: ការបែងចែកជាបាច់ថាមវន្ត ) |
| TorchServe | ក្រុមដែលប្រើប្រាស់ PyTorch ច្រើន | កម្មវិធីឥតគិតថ្លៃ | លំនាំបម្រើលំនាំដើមសមរម្យ - អាចត្រូវការលៃតម្រូវសម្រាប់មាត្រដ្ឋានខ្ពស់ ( ឯកសារ TorchServe ) |
| BentoML (ការវេចខ្ចប់ + ការបម្រើ) | វិស្វករ ML | ស្នូលឥតគិតថ្លៃ, ការបន្ថែមប្រែប្រួល | ការវេចខ្ចប់រលូន បទពិសោធន៍អ្នកអភិវឌ្ឍន៍ដ៏ល្អ - អ្នកនៅតែត្រូវការជម្រើសហេដ្ឋារចនាសម្ព័ន្ធ ( ការវេចខ្ចប់ BentoML សម្រាប់ការដាក់ពង្រាយ ) |
| រ៉េ សឺវីស | អ្នកប្រើប្រាស់ប្រព័ន្ធចែកចាយ | ពឹងផ្អែកលើអ៊ីនហ្វ្រារ៉េដ | ធ្វើមាត្រដ្ឋានផ្ដេក ល្អសម្រាប់បំពង់បង្ហូរ - មានអារម្មណ៍ថា "ធំ" សម្រាប់គម្រោងតូចៗ ( ឯកសារ Ray Serve ) |
កំណត់ចំណាំក្នុងតារាង៖ «របស់ឥតគិតថ្លៃ» គឺជាពាក្យពិតក្នុងជីវិតពិត។ ពីព្រោះវាមិនដែលឥតគិតថ្លៃទេ។ តែងតែមានវិក្កយបត្រនៅកន្លែងណាមួយ ទោះបីជាវាជាពេលគេងរបស់អ្នកក៏ដោយ។ 😴
៧) ការអនុវត្ត និងការធ្វើមាត្រដ្ឋាន - ភាពយឺតយ៉ាវ អត្រាទិន្នផល និងការពិត 🏁
ការលៃតម្រូវការអនុវត្តគឺជាកន្លែងដែលការដាក់ពង្រាយក្លាយជាសិប្បកម្ម។ គោលដៅមិនមែន "លឿន" ទេ។ គោលដៅគឺ លឿនគ្រប់គ្រាន់ជាប់លាប់ ។
សូចនាករសំខាន់ៗដែលមានសារៈសំខាន់
-
ភាពយឺតយ៉ាវ p50 ៖ បទពិសោធន៍អ្នកប្រើប្រាស់ធម្មតា
-
ភាពយឺតយ៉ាវ p95 / p99 ៖ កន្ទុយដែលបង្កឲ្យមានកំហឹង ( កន្ទុយនៅមាត្រដ្ឋាន សៀវភៅ SRE៖ ការត្រួតពិនិត្យប្រព័ន្ធចែកចាយ )
-
កម្រិតបញ្ជូន ៖ សំណើក្នុងមួយវិនាទី (ឬថូខឹនក្នុងមួយវិនាទីសម្រាប់ម៉ូដែលបង្កើត)
-
អត្រាកំហុស ៖ ជាក់ស្តែង ប៉ុន្តែនៅតែមិនអើពើពេលខ្លះ
-
ការប្រើប្រាស់ធនធាន ៖ CPU, GPU, អង្គចងចាំ, VRAM ( សៀវភៅ SRE៖ ការត្រួតពិនិត្យប្រព័ន្ធចែកចាយ )
ដង្កៀបទូទៅសម្រាប់ទាញ
-
ការធ្វើជាបាច់ (Batching)
បញ្ចូលសំណើដើម្បីបង្កើនប្រសិទ្ធភាពការប្រើប្រាស់ GPU។ ល្អសម្រាប់ការបញ្ចេញទិន្នន័យ អាចប៉ះពាល់ដល់ភាពយឺតយ៉ាវប្រសិនបើអ្នកធ្វើវាលើសកម្រិត។ ( Triton: Dynamic batching ) -
ការធ្វើបរិមាណ
ភាពជាក់លាក់ទាប (ដូចជា INT8) អាចបង្កើនល្បឿននៃការសន្និដ្ឋាន និងកាត់បន្ថយការចងចាំ។ អាចធ្វើឱ្យភាពត្រឹមត្រូវថយចុះបន្តិច។ ពេលខ្លះមិនមែនជារឿងគួរឱ្យភ្ញាក់ផ្អើលនោះទេ។ ( ការធ្វើបរិមាណក្រោយការបណ្តុះបណ្តាល ) -
ការចងក្រង / ការបង្កើនប្រសិទ្ធភាព
ការនាំចេញ ONNX ឧបករណ៍បង្កើនប្រសិទ្ធភាពក្រាហ្វ លំហូរដូច TensorRT។ មានឥទ្ធិពលខ្លាំង ប៉ុន្តែការបំបាត់កំហុសអាចមានភាពហឹរ 🌶️ ( ONNX , ការបង្កើនប្រសិទ្ធភាពម៉ូដែលពេលដំណើរការ ONNX ) -
ការរក្សាទុកទិន្នន័យក្នុងឃ្លាំងសម្ងាត់
ប្រសិនបើទិន្នន័យបញ្ចូលធ្វើឡើងវិញ (ឬអ្នកអាចរក្សាទុកទិន្នន័យដែលបានបង្កប់) អ្នកអាចសន្សំសំចៃបានច្រើន។ -
ដោយស្វ័យប្រវត្តិ
លើការប្រើប្រាស់ CPU/GPU ជម្រៅជួរ ឬអត្រាសំណើ។ ជម្រៅជួរត្រូវបានវាយតម្លៃទាប។ ( Kubernetes HPA )
គន្លឹះចម្លែកមួយប៉ុន្តែពិត៖ វាស់វែងជាមួយទំហំបន្ទុកផលិតកម្ម។ បន្ទុកសាកល្បងតូចៗកុហកអ្នក។ ពួកវាញញឹមដោយគួរសម ហើយបន្ទាប់មកក្បត់អ្នកនៅពេលក្រោយ។.
៨) ការតាមដាន និងការសង្កេត - កុំធ្វើពុតជាងងឹតងងល់ 👀📈
ការតាមដានម៉ូដែលមិនមែនគ្រាន់តែជាការតាមដានពេលវេលាដំណើរការនោះទេ។ អ្នកចង់ដឹងថាតើ៖
-
សេវាកម្មនេះមានសុខភាពល្អ
-
ម៉ូដែលកំពុងមានឥរិយាបថ
-
ទិន្នន័យកំពុងរសាត់បាត់
-
ការព្យាករណ៍កំពុងក្លាយជាមិនសូវគួរឱ្យទុកចិត្ត ( ទិដ្ឋភាពទូទៅនៃការត្រួតពិនិត្យគំរូ Vertex AI , ការត្រួតពិនិត្យគំរូ Amazon SageMaker )
អ្វីដែលត្រូវតាមដាន (សំណុំអប្បបរមាដែលអាចអនុវត្តបាន)
សុខភាពសេវាកម្ម
-
ចំនួនសំណើ អត្រាកំហុស ការចែកចាយភាពយឺតយ៉ាវ ( សៀវភៅ SRE៖ ការត្រួតពិនិត្យប្រព័ន្ធចែកចាយ )
-
តិត្ថិភាព (ស៊ីភីយូ/GPU/អង្គចងចាំ)
-
ប្រវែងជួរ និងពេលវេលានៅក្នុងជួរ
ឥរិយាបថគំរូ
-
ការចែកចាយមុខងារបញ្ចូល (ស្ថិតិមូលដ្ឋាន)
-
បទដ្ឋាននៃការបង្កប់ (សម្រាប់ម៉ូដែលបង្កប់)
-
ការចែកចាយទិន្នផល (ទំនុកចិត្ត ការលាយបញ្ចូលគ្នានៃថ្នាក់ ជួរពិន្ទុ)
-
ការរកឃើញភាពមិនប្រក្រតីលើការបញ្ចូល (សំរាមចូល សំរាមចេញ)
ការរសាត់បាត់ទិន្នន័យ និង ការរសាត់បាត់គំនិត
-
ការជូនដំណឹងអំពីការរសាត់គួរតែអាចអនុវត្តបាន ( Vertex AI: មុខងារត្រួតពិនិត្យភាពលំអៀង និងការរសាត់ , Amazon SageMaker Model Monitor )
-
ជៀសវាងសារឥតបានការដែលជូនដំណឹង - វាបង្រៀនមនុស្សឱ្យមិនអើពើនឹងអ្វីៗគ្រប់យ៉ាង
កំពុងកត់ត្រា ប៉ុន្តែមិនមែនជាវិធីសាស្រ្ត "កត់ត្រាអ្វីៗគ្រប់យ៉ាងជារៀងរហូត" ទេ 🪵
កំណត់ហេតុ៖
-
លេខសម្គាល់សំណើ
-
កំណែម៉ូដែល
-
លទ្ធផលនៃការផ្ទៀងផ្ទាត់គ្រោងការណ៍ ( OpenAPI៖ តើ OpenAPI ជាអ្វី? )
-
ទិន្នន័យមេតាបន្ទុកដែលមានរចនាសម្ព័ន្ធអប្បបរមា (មិនមែន PII ឆៅ) ( NIST SP 800-122 )
សូមប្រុងប្រយ័ត្នជាមួយភាពឯកជន។ អ្នកមិនចង់ឱ្យកំណត់ហេតុរបស់អ្នកក្លាយជាការលេចធ្លាយទិន្នន័យរបស់អ្នកទេ។ ( NIST SP 800-122 )
៩) យុទ្ធសាស្ត្រ CI/CD និងការដាក់ឱ្យប្រើប្រាស់ - ចាត់ទុកគំរូដូចជាការចេញផ្សាយពិតប្រាកដ 🧱🚦
ប្រសិនបើអ្នកចង់បានការដាក់ពង្រាយដែលអាចទុកចិត្តបាន សូមបង្កើតបំពង់បង្ហូរទិន្នន័យ។ សូម្បីតែបំពង់បង្ហូរទិន្នន័យសាមញ្ញមួយក៏ដោយ។.
លំហូររឹងមួយ
-
ការធ្វើតេស្តឯកតាសម្រាប់ការដំណើរការមុន និងក្រោយដំណើរការ
-
ការធ្វើតេស្តសមាហរណកម្មជាមួយ "សំណុំមាស" នៃការបញ្ចូល-ទិន្នផលដែលគេស្គាល់
-
បន្ទុកតេស្តមូលដ្ឋាន (សូម្បីតែទម្ងន់ស្រាលក៏ដោយ)
-
បង្កើតវត្ថុបុរាណ (កុងតឺន័រ + គំរូ) ( ការអនុវត្តល្អបំផុតសម្រាប់សាងសង់ Docker )
-
ដាក់ពង្រាយទៅការរៀបចំ
-
ការចេញផ្សាយ Canary ទៅកាន់ចរាចរណ៍មួយចំនួនតូច ( ការចេញផ្សាយ Canary )
-
ឡើងជាបណ្តើរៗ
-
ការត្រឡប់ថយក្រោយដោយស្វ័យប្រវត្តិលើកម្រិតគន្លឹះ ( ការដាក់ពង្រាយពណ៌ខៀវ-បៃតង )
លំនាំនៃការដាក់ចេញដែលជួយសង្គ្រោះសុខភាពផ្លូវចិត្តរបស់អ្នក
-
Canary : ចេញផ្សាយទៅឲ្យមានចរាចរណ៍ 1-5% ជាមុនសិន ( Canary Release )
-
ខៀវ-បៃតង ៖ ដំណើរការកំណែថ្មីរួមជាមួយកំណែចាស់ ត្រឡប់វានៅពេលរួចរាល់ ( ការដាក់ពង្រាយខៀវ-បៃតង )
-
ការធ្វើតេស្តស្រមោល ៖ ផ្ញើចរាចរណ៍ពិតប្រាកដទៅកាន់ម៉ូដែលថ្មី ប៉ុន្តែកុំប្រើលទ្ធផល (ល្អសម្រាប់ការវាយតម្លៃ) ( Microsoft៖ ការធ្វើតេស្តស្រមោល )
ហើយធ្វើកំណែចំណុចបញ្ចប់ ឬផ្លូវរបស់អ្នកតាមកំណែម៉ូដែល។ នៅពេលអនាគត អ្នកនឹងអរគុណអ្នក។ បច្ចុប្បន្ន អ្នកក៏នឹងអរគុណអ្នកដែរ ប៉ុន្តែស្ងាត់ៗ។.
១០) សុវត្ថិភាព ភាពឯកជន និង «សូមកុំធ្វើឲ្យលេចធ្លាយព័ត៌មាន» 🔐🙃
សន្តិសុខច្រើនតែមកយឺត ដូចភ្ញៀវដែលមិនបានអញ្ជើញអញ្ចឹង។ ល្អជាងអញ្ជើញមុន។.
បញ្ជីត្រួតពិនិត្យជាក់ស្តែង
-
ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ និងការអនុញ្ញាត (អ្នកណាអាចហៅម៉ូដែលបាន?)
-
ការកំណត់អត្រា (ការពារប្រឆាំងនឹងការរំលោភបំពាន និងព្យុះភ្លៀងដោយចៃដន្យ) ( ការបន្ថយល្បឿន API Gateway )
-
ការគ្រប់គ្រងអាថ៌កំបាំង (គ្មានសោនៅក្នុងកូដ គ្មានសោនៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធផងដែរ…) ( AWS Secrets Manager , Kubernetes Secrets )
-
ការគ្រប់គ្រងបណ្តាញ (បណ្តាញរងឯកជន គោលការណ៍សេវាកម្មទៅសេវាកម្ម)
-
កំណត់ហេតុសវនកម្ម (ជាពិសេសសម្រាប់ការព្យាករណ៍ដ៏រសើប)
-
ការបង្រួមអប្បបរមាទិន្នន័យ (រក្សាទុកតែអ្វីដែលអ្នកត្រូវរក្សាទុក) ( NIST SP 800-122 )
ប្រសិនបើម៉ូដែលប៉ះទិន្នន័យផ្ទាល់ខ្លួន៖
-
ឧបករណ៍កំណត់អត្តសញ្ញាណ redact ឬ hash
-
ជៀសវាងការកត់ត្រាបន្ទុកទិន្នន័យឆៅ ( NIST SP 800-122 )
-
កំណត់ច្បាប់រក្សាទុក
-
លំហូរទិន្នន័យឯកសារ (គួរឱ្យធុញ ប៉ុន្តែការពារ)
ជាងនេះទៅទៀត ការចាក់បញ្ចូលទិន្នន័យរហ័ស និងការប្រើប្រាស់ទិន្នផលខុសអាចមានសារៈសំខាន់សម្រាប់គំរូបង្កើត។ បន្ថែម៖ ( OWASP Top 10 សម្រាប់កម្មវិធី LLM , OWASP: ការចាក់បញ្ចូលទិន្នន័យរហ័ស )
-
ច្បាប់អនាម័យនៃការបញ្ចូល
-
ការច្រោះទិន្នផលដែលសមស្រប
-
របាំងការពារសម្រាប់ការហៅឧបករណ៍ ឬសកម្មភាពមូលដ្ឋានទិន្នន័យ
គ្មានប្រព័ន្ធណាល្អឥតខ្ចោះនោះទេ ប៉ុន្តែអ្នកអាចធ្វើឱ្យវាមិនសូវផុយស្រួយ។.
១១) អន្ទាក់ទូទៅ (ហៅម្យ៉ាងទៀតថា អន្ទាក់ធម្មតា) 🪤
ខាងក្រោមនេះជាស្នាដៃបុរាណ៖
-
ការបម្រើការហ្វឹកហាត់
ការកែច្នៃជាមុនមានភាពខុសគ្នារវាងការហ្វឹកហាត់ និងការផលិត។ ភ្លាមៗនោះភាពត្រឹមត្រូវធ្លាក់ចុះ ហើយគ្មានអ្នកណាដឹងពីមូលហេតុនោះទេ។ ( ការផ្ទៀងផ្ទាត់ទិន្នន័យ TensorFlow៖ រកឃើញការកែលម្អការបម្រើការហ្វឹកហាត់ ) -
គ្មានការផ្ទៀងផ្ទាត់គ្រោងការណ៍ទេ
ការផ្លាស់ប្តូរខាងលើតែមួយបំបែកអ្វីៗទាំងអស់។ មិនមែនតែងតែខ្លាំងពេកទេ… ( គ្រោងការណ៍ JSON , OpenAPI: តើ OpenAPI ជាអ្វី? ) -
ការមិនអើពើនឹងភាពយឺតយ៉ាវនៃកន្ទុយ
p99 គឺជាកន្លែងដែលអ្នកប្រើប្រាស់រស់នៅនៅពេលពួកគេខឹង។ ( កន្ទុយនៅមាត្រដ្ឋាន ) -
ការបំភ្លេចចោលចំណុចបញ្ចប់ GPU ថ្លៃដើម
ដែលដំណើរការដោយអសកម្មគឺដូចជាការទុកភ្លើងទាំងអស់ឱ្យបើកនៅក្នុងផ្ទះរបស់អ្នក ប៉ុន្តែអំពូលភ្លើងត្រូវបានបង្កើតឡើងដោយលុយ។ -
គ្មានផែនការដកថយទេ
“យើងគ្រាន់តែដាក់ពង្រាយឡើងវិញ” មិនមែនជាផែនការទេ។ វាជាក្តីសង្ឃឹមក្នុងការពាក់អាវធំ។ ( ការដាក់ពង្រាយពណ៌ខៀវ-បៃតង ) -
តាមដានតែពេលវេលាដំណើរការ
សេវាកម្មអាចដំណើរការបាន ខណៈពេលដែលម៉ូដែលមិនត្រឹមត្រូវ។ នោះអាចនិយាយបានថាអាក្រក់ជាងនេះ។ ( Vertex AI: មុខងារត្រួតពិនិត្យមានភាពលំអៀង និងរសាត់បាត់ , Amazon SageMaker Model Monitor )
ប្រសិនបើអ្នកកំពុងអានអត្ថបទនេះ ហើយគិតថា "មែនហើយ យើងធ្វើពីរក្នុងចំណោមនោះ" សូមស្វាគមន៍មកកាន់ក្លឹប។ ក្លឹបនេះមានអាហារសម្រន់ និងអាហារសម្រន់សម្រាប់បំបាត់ភាពតានតឹងបន្តិចបន្តួច។ 🍪
១២) សេចក្តីសន្និដ្ឋាន - របៀបដាក់ពង្រាយគំរូ AI ដោយមិនបាត់បង់ស្មារតី 😄✅
ការដាក់ពង្រាយគឺជាកន្លែងដែល AI ក្លាយជាផលិតផលពិតប្រាកដ។ វាមិនមែនជារឿងអស្ចារ្យនោះទេ ប៉ុន្តែវាជាកន្លែងដែលការជឿទុកចិត្តត្រូវបានទទួលបាន។.
សង្ខេបរហ័ស
-
សម្រេចចិត្តលើគំរូដាក់ពង្រាយរបស់អ្នកជាមុនសិន (ពេលវេលាជាក់ស្តែង បាច់ ការផ្សាយ គែម) 🧭 ( Amazon SageMaker Batch Transform , Cloud Dataflow streaming modes , LiteRT on-device inference )
-
កញ្ចប់សម្រាប់ភាពអាចផលិតឡើងវិញបាន (កំណែគ្រប់យ៉ាង រៀបចំកុងតឺន័រដោយមានការទទួលខុសត្រូវ) 📦 ( កុងតឺន័រ Docker )
-
ជ្រើសរើសយុទ្ធសាស្ត្របម្រើដោយផ្អែកលើតម្រូវការប្រតិបត្តិការ (API សាមញ្ញ ទល់នឹង ម៉ាស៊ីនមេគំរូ) 🧰 ( FastAPI , Triton: ការបាច់ជាបាច់ថាមវន្ត )
-
វាស់ស្ទង់ភាពយឺតយ៉ាវនៃ p95/p99 មិនមែនគ្រាន់តែមធ្យមភាគទេ 🏁 ( The Tail at Scale )
-
បន្ថែមការត្រួតពិនិត្យសម្រាប់សុខភាពសេវាកម្ម និងឥរិយាបថគំរូ 👀 ( សៀវភៅ SRE៖ ការត្រួតពិនិត្យប្រព័ន្ធចែកចាយ , ការត្រួតពិនិត្យគំរូ Vertex AI )
-
ដាក់ឱ្យដំណើរការដោយសុវត្ថិភាពជាមួយ Canary ឬ Blue-Green ហើយរក្សាការរំកិលថយក្រោយឱ្យងាយស្រួល 🚦 ( Canary Release , Blue-Green Deployment )
-
រក្សាសុវត្ថិភាព និងភាពឯកជនតាំងពីថ្ងៃដំបូង 🔐 ( AWS Secrets Manager , NIST SP 800-122 )
-
ធ្វើវាឱ្យគួរឱ្យធុញ ព្យាករណ៍ទុកជាមុន និងកត់ត្រាទុក - ការគួរឱ្យធុញគឺស្រស់ស្អាត 😌
ហើយមែនហើយ របៀបដាក់ពង្រាយម៉ូដែល AI អាចមានអារម្មណ៍ដូចជាការលេងបាល់ប៊ូលីងដែលកំពុងឆេះនៅពេលដំបូង។ ប៉ុន្តែនៅពេលដែលបំពង់បង្ហូររបស់អ្នកមានស្ថេរភាព វាក្លាយជាពេញចិត្តយ៉ាងចម្លែក។ ដូចជាការរៀបចំថតដែលរញ៉េរញ៉ៃ… មានតែថតប៉ុណ្ណោះដែលជាចរាចរណ៍ផលិតកម្ម។ 🔥🎳
សំណួរដែលសួរញឹកញាប់
អត្ថន័យនៃការដាក់ពង្រាយគំរូ AI ក្នុងផលិតកម្ម
ការដាក់ពង្រាយគំរូ AI ជាធម្មតាពាក់ព័ន្ធនឹងច្រើនជាងការបង្ហាញ API ព្យាករណ៍។ នៅក្នុងការអនុវត្ត វារួមបញ្ចូលទាំងការវេចខ្ចប់គំរូ និងការពឹងផ្អែករបស់វា ការជ្រើសរើសគំរូបម្រើ (ពេលវេលាជាក់ស្តែង បាច់ ស្ទ្រីម ឬគែម) ការធ្វើមាត្រដ្ឋានជាមួយនឹងភាពជឿជាក់ ការត្រួតពិនិត្យសុខភាព និងការរសាត់ និងការរៀបចំផ្លូវដាក់ឱ្យដំណើរការ និងផ្លូវរំកិលថយក្រោយដែលមានសុវត្ថិភាព។ ការដាក់ពង្រាយដ៏រឹងមាំនៅតែមានស្ថេរភាពដែលអាចព្យាករណ៍បានក្រោមបន្ទុក និងនៅតែអាចធ្វើរោគវិនិច្ឆ័យបាននៅពេលដែលមានអ្វីមួយខុសប្រក្រតី។.
របៀបជ្រើសរើសរវាងការដាក់ពង្រាយតាមពេលវេលាជាក់ស្តែង ការដាក់ពង្រាយជាបាច់ ការផ្សាយតាមអ៊ីនធឺណិត ឬការដាក់ពង្រាយគែម
ជ្រើសរើសគំរូដាក់ពង្រាយដោយផ្អែកលើពេលវេលាដែលត្រូវការការព្យាករណ៍ និងការរឹតបន្តឹងដែលអ្នកធ្វើប្រតិបត្តិការ។ API ពេលវេលាជាក់ស្តែងសមនឹងបទពិសោធន៍អន្តរកម្មដែលភាពយឺតយ៉ាវមានសារៈសំខាន់។ ការដាក់ពិន្ទុជាបាច់ដំណើរការបានល្អបំផុតនៅពេលដែលការពន្យារពេលអាចទទួលយកបាន និងការនាំមុខប្រសិទ្ធភាពចំណាយ។ ការផ្សាយសាកសមនឹងដំណើរការព្រឹត្តិការណ៍ជាបន្តបន្ទាប់ ជាពិសេសនៅពេលដែលអត្ថន័យនៃការចែកចាយមានបញ្ហា។ ការដាក់ពង្រាយគែមគឺល្អសម្រាប់ប្រតិបត្តិការក្រៅបណ្តាញ ភាពឯកជន ឬតម្រូវការភាពយឺតយ៉ាវទាបបំផុត ទោះបីជាការអាប់ដេត និងការប្រែប្រួលផ្នែករឹងកាន់តែពិបាកក្នុងការគ្រប់គ្រងក៏ដោយ។.
អ្វីដែលត្រូវប្រើកំណែដើម្បីជៀសវាងការបរាជ័យក្នុងការដាក់ពង្រាយ "ដំណើរការលើកុំព្យូទ័រយួរដៃរបស់ខ្ញុំ"
កំណែមានសារៈសំខាន់ជាងទម្ងន់របស់គំរូ។ ជាធម្មតា អ្នកនឹងចង់បានវត្ថុបុរាណគំរូដែលមានកំណែ (រួមទាំងឧបករណ៍កំណត់តម្លៃ ឬផែនទីស្លាក) ការដំណើរការជាមុន និងតក្កវិជ្ជាលក្ខណៈពិសេស កូដសន្និដ្ឋាន និងបរិស្ថានពេលដំណើរការពេញលេញ (បណ្ណាល័យ Python/CUDA/ប្រព័ន្ធ)។ ចាត់ទុកគំរូជាវត្ថុបុរាណចេញផ្សាយជាមួយនឹងកំណែដែលមានស្លាក និងទិន្នន័យមេតាទម្ងន់ស្រាលដែលពិពណ៌នាអំពីការរំពឹងទុកនៃគ្រោងការណ៍ កំណត់ចំណាំវាយតម្លៃ និងដែនកំណត់ដែលគេស្គាល់។.
ថាតើត្រូវដាក់ពង្រាយជាមួយសេវាកម្មបែប FastAPI សាមញ្ញ ឬម៉ាស៊ីនមេគំរូដែលឧទ្ទិសដល់
ម៉ាស៊ីនបម្រើកម្មវិធីសាមញ្ញមួយ (វិធីសាស្រ្តបែប FastAPI) ដំណើរការបានល្អសម្រាប់ផលិតផលដំបូងៗ ឬម៉ូដែលត្រង់ៗ ពីព្រោះអ្នករក្សាការគ្រប់គ្រងលើការបញ្ជូនបន្ត ការអនុញ្ញាត និងការរួមបញ្ចូល។ ម៉ាស៊ីនបម្រើម៉ូដែល (បែប TorchServe ឬ NVIDIA Triton) អាចផ្តល់នូវការបាច់ ការដំណើរការរួមគ្នា និងប្រសិទ្ធភាព GPU កាន់តែខ្លាំង។ ក្រុមជាច្រើនទទួលបានប្រព័ន្ធចម្រុះ៖ ម៉ាស៊ីនបម្រើម៉ូដែលសម្រាប់ការសន្និដ្ឋាន បូករួមទាំងស្រទាប់ API ស្តើងសម្រាប់ការអនុញ្ញាត ការបង្កើតសំណើ និងដែនកំណត់អត្រា។.
របៀបកែលម្អភាពយឺតយ៉ាវ និងអត្រាលំហូរដោយមិនធ្វើឱ្យខូចភាពត្រឹមត្រូវ
ចាប់ផ្តើមដោយវាស់ស្ទង់ភាពយឺតយ៉ាវ p95/p99 លើផ្នែករឹងដែលស្រដៀងនឹងផលិតកម្មជាមួយនឹងបន្ទុកទិន្នន័យជាក់ស្តែង ព្រោះការធ្វើតេស្តតូចៗអាចនាំឱ្យយល់ច្រឡំ។ ចំណុចសំខាន់ៗរួមមាន ការបាច់ (បរិមាណដំណើរការកាន់តែប្រសើរ ភាពយឺតយ៉ាវដែលអាចកាន់តែអាក្រក់) ការធ្វើបរិមាណ (តូចជាង និងលឿនជាងមុន ជួនកាលមានការសម្របសម្រួលភាពត្រឹមត្រូវល្មម) លំហូរចងក្រង និងបង្កើនប្រសិទ្ធភាព (ដូច ONNX/TensorRT) និងការបញ្ចូល ឬការបង្កប់ម្តងហើយម្តងទៀតដែលរក្សាទុកក្នុងឃ្លាំងសម្ងាត់។ ការធ្វើមាត្រដ្ឋានដោយស្វ័យប្រវត្តិដោយផ្អែកលើជម្រៅជួរក៏អាចការពារភាពយឺតយ៉ាវកន្ទុយពីការលូនឡើងលើផងដែរ។.
តើការត្រួតពិនិត្យអ្វីខ្លះដែលត្រូវការលើសពី "ចំណុចបញ្ចប់គឺនៅខាងលើ"
ពេលវេលាដំណើរការមិនគ្រប់គ្រាន់ទេ ពីព្រោះសេវាកម្មមួយអាចមើលទៅមានសុខភាពល្អ ខណៈពេលដែលគុណភាពនៃការព្យាករណ៍ធ្លាក់ចុះ។ យ៉ាងហោចណាស់ សូមតាមដានបរិមាណសំណើ អត្រាកំហុស និងការចែកចាយភាពយឺតយ៉ាវ បូករួមទាំងសញ្ញាតិត្ថិភាពដូចជា CPU/GPU/អង្គចងចាំ និងពេលវេលាជួរ។ សម្រាប់ឥរិយាបថគំរូ សូមតាមដានការចែកចាយបញ្ចូល និងទិន្នផល រួមជាមួយនឹងសញ្ញាមិនប្រក្រតីជាមូលដ្ឋាន។ បន្ថែមការត្រួតពិនិត្យការរសាត់ដែលបង្កឱ្យមានសកម្មភាពជំនួសឱ្យការជូនដំណឹងដែលមានសំឡេងរំខាន និងលេខសម្គាល់សំណើកំណត់ហេតុ កំណែគំរូ និងលទ្ធផលនៃការផ្ទៀងផ្ទាត់គ្រោងការណ៍។.
របៀបដាក់ឱ្យដំណើរការកំណែម៉ូដែលថ្មីដោយសុវត្ថិភាព និងងើបឡើងវិញយ៉ាងឆាប់រហ័ស
ចាត់ទុកម៉ូដែលដូចជាការចេញផ្សាយពេញលេញ ជាមួយនឹងបំពង់ CI/CD ដែលសាកល្បងដំណើរការមុន និងក្រោយដំណើរការ ដំណើរការការត្រួតពិនិត្យការរួមបញ្ចូលទល់នឹង "សំណុំមាស" និងបង្កើតមូលដ្ឋានផ្ទុក។ សម្រាប់ការចេញផ្សាយ Canary ចេញផ្សាយចរាចរណ៍កើនឡើងបន្តិចម្តងៗ ខណៈពេលដែលពណ៌ខៀវ-បៃតងរក្សាកំណែចាស់ឱ្យនៅរស់សម្រាប់ fallback ភ្លាមៗ។ ការធ្វើតេស្តស្រមោលជួយវាយតម្លៃម៉ូដែលថ្មីលើចរាចរណ៍ពិតប្រាកដដោយមិនប៉ះពាល់ដល់អ្នកប្រើប្រាស់។ Rollback គួរតែជាយន្តការលំដាប់ថ្នាក់ទីមួយ មិនមែនជាការគិតគូរពីក្រោយនោះទេ។.
ចំណុចខ្វះខាតទូទៅបំផុតនៅពេលរៀនពីរបៀបដាក់ពង្រាយគំរូ AI
ភាពលំអៀងនៃការបម្រើការបណ្តុះបណ្តាលគឺជាករណីបុរាណ៖ ការដំណើរការជាមុនមានភាពខុសគ្នារវាងការបណ្តុះបណ្តាល និងផលិតកម្ម ហើយដំណើរការធ្លាក់ចុះដោយស្ងាត់ៗ។ បញ្ហាញឹកញាប់មួយទៀតគឺការបាត់ការផ្ទៀងផ្ទាត់គ្រោងការណ៍ ដែលការផ្លាស់ប្តូរខាងលើបំបែកធាតុចូលតាមវិធីស្រទន់។ ក្រុមក៏មើលស្រាលភាពយឺតយ៉ាវកន្ទុយ និងផ្តោតអារម្មណ៍ខ្លាំងពេកលើមធ្យមភាគ មើលរំលងថ្លៃដើម (GPU ទំនេរកើនឡើងលឿន) និងរំលងការធ្វើផែនការ rollback។ ការតាមដានតែពេលវេលាដំណើរការមានហានិភ័យជាពិសេស ពីព្រោះ "ឡើងប៉ុន្តែខុស" អាចអាក្រក់ជាងចុះក្រោម។.
ឯកសារយោង
-
សេវាកម្មគេហទំព័រ Amazon (AWS) - Amazon SageMaker៖ ការសន្និដ្ឋានតាមពេលវេលាជាក់ស្តែង - docs.aws.amazon.com
-
សេវាកម្មគេហទំព័រ Amazon (AWS) - ការបំលែងជាបាច់របស់ Amazon SageMaker - docs.aws.amazon.com
-
សេវាកម្មគេហទំព័រ Amazon (AWS) - កម្មវិធីត្រួតពិនិត្យគំរូ Amazon SageMaker - docs.aws.amazon.com
-
Amazon Web Services (AWS) - ការកំណត់ល្បឿនសំណើ API Gateway - docs.aws.amazon.com
-
សេវាកម្មគេហទំព័រ Amazon (AWS) - កម្មវិធីគ្រប់គ្រងអាថ៌កំបាំង AWS៖ សេចក្តីផ្តើម - docs.aws.amazon.com
-
Amazon Web Services (AWS) - វដ្តជីវិតនៃបរិស្ថានប្រតិបត្តិ AWS Lambda - docs.aws.amazon.com
-
Google Cloud - Vertex AI៖ ដាក់ពង្រាយគំរូទៅកាន់ចំណុចបញ្ចប់ - docs.cloud.google.com
-
ទិដ្ឋភាពទូទៅនៃការត្រួតពិនិត្យគំរូ Vertex AI របស់ Google Cloud - docs.cloud.google.com
-
Google Cloud - Vertex AI៖ មុខងារត្រួតពិនិត្យមានភាពលំអៀង និងរសាត់ - docs.cloud.google.com
-
ប្លក់ Google Cloud - លំហូរទិន្នន័យ៖ របៀបស្ទ្រីមម្តងយ៉ាងពិតប្រាកដ ធៀបនឹងយ៉ាងហោចណាស់ម្តង - cloud.google.com
-
Google Cloud - របៀបស្ទ្រីម Cloud Dataflow - docs.cloud.google.com
-
សៀវភៅ Google SRE - ការត្រួតពិនិត្យប្រព័ន្ធចែកចាយ - sre.google
-
ការស្រាវជ្រាវរបស់ Google - កន្ទុយនៅមាត្រដ្ឋាន - research.google
-
LiteRT (Google AI) - ទិដ្ឋភាពទូទៅ LiteRT - ai.google.dev
-
LiteRT (Google AI) - LiteRT នៅលើឧបករណ៍ - ai.google.dev
-
Docker - តើកុងតឺន័រជាអ្វី? - docs.docker.com
-
Docker - ការអនុវត្តល្អបំផុតសម្រាប់ការបង្កើត Docker - docs.docker.com
-
Kubernetes - Kubernetes Secrets - kubernetes.io
-
Kubernetes - ការធ្វើមាត្រដ្ឋានដោយស្វ័យប្រវត្តិសម្រាប់ផតផ្ដេក - kubernetes.io
-
ម៉ាទីន ហ្វូលលើរ - ការចេញផ្សាយ Canary - martinfowler.com
-
ម៉ាទីន ហ្វូលលើរ - ការដាក់ពង្រាយពណ៌ខៀវ-បៃតង - martinfowler.com
-
គំនិតផ្តួចផ្តើម OpenAPI - តើ OpenAPI ជាអ្វី? - openapis.org
-
គ្រោងការណ៍ JSON - (បានយោងទៅគេហទំព័រ) - json-schema.org
-
សតិបណ្ដោះអាសន្នពិធីការ - ទិដ្ឋភាពទូទៅនៃសតិបណ្ដោះអាសន្នពិធីការ - protobuf.dev
-
FastAPI - (បានយោងទៅគេហទំព័រ) - fastapi.tiangolo.com
-
NVIDIA - Triton៖ ការផលិតជាក្រុមថាមវន្ត និងការប្រតិបត្តិគំរូក្នុងពេលដំណាលគ្នា - docs.nvidia.com
-
NVIDIA - Triton៖ ការប្រតិបត្តិគំរូក្នុងពេលដំណាលគ្នា - docs.nvidia.com
-
NVIDIA - ម៉ាស៊ីនបម្រើសន្និដ្ឋាន Triton - docs.nvidia.com
-
PyTorch - TorchServe - docs.pytorch.org
-
BentoML - ការវេចខ្ចប់សម្រាប់ការដាក់ពង្រាយ - docs.bentoml.com
-
ឯកសារ Ray - Ray Serve - docs.ray.io
-
TensorFlow - ការកំណត់បរិមាណក្រោយការបណ្តុះបណ្តាល (ការបង្កើនប្រសិទ្ធភាពគំរូ TensorFlow) - tensorflow.org
-
TensorFlow - ការផ្ទៀងផ្ទាត់ទិន្នន័យ TensorFlow៖ រកឃើញភាពលំអៀងនៃការបម្រើការបណ្តុះបណ្តាល - tensorflow.org
-
ONNX - (បានយោងទៅគេហទំព័រ) - onnx.ai
-
ONNX Runtime - ការបង្កើនប្រសិទ្ធភាពគំរូ - onnxruntime.ai
-
NIST (វិទ្យាស្ថានស្តង់ដារ និងបច្ចេកវិទ្យាជាតិ) - NIST SP 800-122 - csrc.nist.gov
-
arXiv - កាតគំរូសម្រាប់ការរាយការណ៍គំរូ - arxiv.org
-
ម៉ៃក្រូសូហ្វ - ការធ្វើតេស្តស្រមោល - microsoft.github.io
-
OWASP - សាកលវិទ្យាល័យល្អបំផុតទាំង ១០ សម្រាប់កម្មវិធី LLM របស់ OWASP - owasp.org
-
គម្រោងសុវត្ថិភាព OWASP GenAI - OWASP៖ ការចាក់បញ្ចូលរហ័ស - genai.owasp.org