និមិត្តសញ្ញា Zephyrnet

ការបង្កើតលំហូរការងារ TensorFlow 2 ពេញលេញនៅក្នុងក្រុមហ៊ុន Amazon SageMaker

កាលបរិច្ឆេទ:

ការគ្រប់គ្រងដំណើរជីវិតពេញលេញនៃគម្រោងសិក្សាស៊ីជម្រៅអាចជាការពិបាកជាពិសេសប្រសិនបើអ្នកប្រើឧបករណ៍និងសេវាកម្មដាច់ដោយឡែកជាច្រើន។ ឧទាហរណ៍អ្នកអាចប្រើឧបករណ៍ផ្សេងៗគ្នាសម្រាប់ដំណើរការទិន្ន័យការបណ្តុះបណ្តាលគំរូនិងលេខកូដការបណ្តុះបណ្តាលគំរូនិងការតំរែតំរង់ការដាក់ពង្រាយគំរូនិងស្វ័យប្រវត្តិកម្មការងារដើម្បីតំរែតំរឹមទាំងអស់ខាងលើសម្រាប់ផលិតកម្ម។ ការកកិតដែលបណ្តាលមកពីឧបករណ៍ប្តូរអាចធ្វើឱ្យគម្រោងយឺតនិងបង្កើនថ្លៃដើម។ ប្រកាសនេះបង្ហាញពីវិធីគ្រប់គ្រងដំណើរជីវិតពេញលេញនៃគំរោងសិក្សាជ្រៅជ្រះប្រកបដោយប្រសិទ្ធភាព ក្រុមហ៊ុន Amazon SageMaker។ TensorFlow 2 គឺជាក្របខ័ណ្ឌដែលត្រូវបានប្រើក្នុងកូដឧទាហរណ៍ទោះបីជាគំនិតដែលត្រូវបានពិពណ៌នាជាទូទៅត្រូវបានអនុវត្តចំពោះក្របខ័ណ្ឌផ្សេងទៀតក៏ដោយ។

ប្រកាសនេះក៏មានសៀវភៅកត់ត្រាគំរូដែលមានភ្ជាប់ដែលអ្នកអាចដំណើរការបានក្នុងរយៈពេលតិចជាងមួយម៉ោងដើម្បីបង្ហាញពីលក្ខណៈពិសេសទាំងអស់ដែលបានពិភាក្សានៅទីនេះ។ សម្រាប់ព័ត៌មានបន្ថែមសូមមើលឯកសារ GitHub repo ។

ទិដ្ឋភាពទូទៅនៃលំហូរការងាររបស់ក្រុមហ៊ុន Amazon SageMaker

រាល់គម្រោងវិទ្យាសាស្ត្រទិន្នន័យដែលប្រើ TensorFlow 2 ឬក្របខ័ណ្ឌផ្សេងទៀតចាប់ផ្តើមដោយសំណុំទិន្នន័យ៖ ទទួលបានការរុករកនិងដំណើរការវា។ នៅក្នុងបរិបទលំហូរការងាររបស់ក្រុមហ៊ុន Amazon SageMaker ការស្វែងរកទិន្នន័យជាធម្មតាកើតឡើងនៅក្នុងសៀវភៅកត់ត្រា។ កុំព្យូទ័រយួរដៃទាំងនេះអាចប្រើបានលើប្រភេទវត្ថុតូចៗមិនសូវមានអានុភាពនិងមានតំលៃថោកព្រោះវាដំណើរការស្ទើរតែរាល់ថ្ងៃធ្វើការ។

ដូច្នោះហើយលុះត្រាតែសំណុំទិន្នន័យមានទំហំតូចជាងសៀវភៅកត់ត្រាមិនមែនជាកន្លែងល្អបំផុតដើម្បីដំណើរការទិន្នន័យពេញលេញការបណ្តុះបណ្តាលគំរូនិងការបង្ហាញទេ។ ដោយសារតែភារកិច្ចទាំងនេះជាធម្មតាត្រូវការធនធានកុំព្យូទ័រស្របគ្នាច្រើនពេកសៀវភៅកត់ត្រាមិនអាចធ្វើទៅបានទេ។ ផ្ទុយទៅវិញវាមានភាពជាក់ស្តែងនិងចំណាយច្រើនក្នុងការប្រើប្រាស់មុខងាររបស់ក្រុមហ៊ុន Amazon SageMaker សម្រាប់បង្កើតជាចង្កោមដាច់ដោយឡែកពីគ្នានៃវត្ថុដែលមានទំហំត្រឹមត្រូវនិងមានអានុភាពដែលអាចបំពេញភារកិច្ចទាំងនេះបានភ្លាមៗ។ រាល់ការចោទប្រកាន់ទាំងអស់ត្រូវបានទូទាត់តាមវិនាទីហើយនៅពេលបញ្ចប់ការងារក្រុមហ៊ុន Amazon SageMaker នឹងបិទករណីដោយស្វ័យប្រវត្តិ។ ជាលទ្ធផលនៅក្នុងលំហូរការងាររបស់ក្រុមហ៊ុន Amazon SageMaker ធម្មតាការចោទប្រកាន់ញឹកញាប់បំផុតគឺសម្រាប់តែកុំព្យូទ័រយួរដៃដែលមានតំលៃថោកសម្រាប់ការរុករកទិន្នន័យនិងគំរូដើមជាជាងសម្រាប់ GPU ដែលមានថាមពលនិងមានតំលៃថ្លៃនិងវត្ថុដែលបានបង្កើនល្បឿន។

នៅពេលការធ្វើត្រាប់តាមបានបញ្ចប់អ្នកអាចផ្លាស់ទីលើសពីសៀវភៅកត់ត្រាដោយស្វ័យប្រវត្តិកម្មលំហូរការងារ។ បំពង់ស្វ័យប្រវត្តិកម្មគឺចាំបាច់សម្រាប់ការបង្កើតលំហូរការងារពេញលេញតាមរយៈការដាក់ពង្រាយគំរូតាមរបៀបរឹងមាំនិងអាចធ្វើម្តងទៀត។ ក្រុមហ៊ុន Amazon SageMaker ផ្តល់នូវដំណោះស្រាយដើមសម្រាប់បញ្ហានេះផងដែរ។ ផ្នែកខាងក្រោមនៃប្រកាសនេះណែនាំអំពីលក្ខណៈពិសេសផ្សេងៗគ្នានៃក្រុមហ៊ុន Amazon SageMaker ដែលអ្នកអាចប្រើដើម្បីអនុវត្តដំណាក់កាលជីវិតគម្រោងទាំងនេះ។

ការផ្លាស់ប្តូរទិន្នន័យជាមួយក្រុមហ៊ុន Amazon SageMaker Processing

ដំណើរការក្រុមហ៊ុន Amazon SageMaker ជួយអ្នករៀបចំសំណុំទិន្នន័យធំ ៗ ជាក្រុមដែលមានទំហំត្រឹមត្រូវនិងមានចង្កោមគ្រប់គ្រងដាច់ដោយឡែកពីសៀវភៅកត់ត្រា។ ដំណើរការក្រុមហ៊ុន Amazon SageMaker រួមបញ្ចូលទាំងការគាំទ្រក្រៅប្រព័ន្ធធ្នើសម្រាប់ Scikit-learn និងគាំទ្របច្ចេកវិទ្យាផ្សេងទៀតដែលត្រូវបានដាក់កុងតឺន័រ។ ឧទាហរណ៍អ្នកអាចបើកដំណើរការបណ្តុំ Apache Spark បណ្តោះអាសន្នសម្រាប់បំលែងលក្ខណៈពិសេសនៅក្នុង Amazon SageMaker Processing ។

ដើម្បីប្រើ Amazon SageMaker Processing ជាមួយ Scikit-learn ផ្គត់ផ្គង់ស្គ្រីបដំណើរការទិន្នន័យ Python ជាមួយនឹងកូដ Scikit-learn ស្តង់ដារ។ មានតែមួយទេ កិច្ចសន្យាតិចតួចបំផុតសម្រាប់ស្គ្រីប៖ ទិន្នន័យបញ្ចូលនិងលទ្ធផលត្រូវតែដាក់នៅក្នុងទីតាំងដែលបានបញ្ជាក់។ ដំណើរការក្រុមហ៊ុន Amazon SageMaker ផ្ទុកទិន្នន័យបញ្ចូលដោយស្វ័យប្រវត្តិ សេវាកម្មផ្ទុកសាមញ្ញរបស់ក្រុមហ៊ុន Amazon (Amazon S3) និងផ្ទុកឡើងនូវទិន្នន័យដែលបានបំលែងទៅ Amazon S3 នៅពេលដែលការងារត្រូវបានបញ្ចប់។

មុនពេលចាប់ផ្តើមការងារដំណើរការក្រុមហ៊ុន Amazon SageMaker សូមធ្វើឱ្យវត្ថុ SKLearnProcessor ភ្លាមៗដូចបង្ហាញក្នុងឧទាហរណ៍កូដខាងក្រោម។ ក្នុងវត្ថុនេះសូមបញ្ជាក់ប្រភេទវត្ថុដើម្បីប្រើក្នុងការងារនិងចំនួនវត្ថុ។

from sagemaker import get_execution_role
from sagemaker.sklearn.processing import SKLearnProcessor sklearn_processor = SKLearnProcessor(framework_version='0.20.0', role=get_execution_role(), instance_type='ml.m5.xlarge', instance_count=2)

ដើម្បីចែកចាយឯកសារទិន្នន័យស្មើគ្នាក្នុងចំណោមឧទាហរណ៍នៃចង្កោមសម្រាប់ដំណើរការសូមបញ្ជាក់ឯកសារ ShardedByS3Key ប្រភេទចែកចាយនៅក្នុងឯកសារ ProcessingInput វត្ថុ នេះធ្វើឱ្យប្រាកដថាប្រសិនបើមាន n ឧទាហរណ៍វត្ថុនីមួយៗទទួលបាន 1 / n ឯកសារពីធុង S3 ដែលបានបញ្ជាក់។ សមត្ថភាពក្នុងការបង្កើតចង្កោមធំ ៗ យ៉ាងងាយស្រួលសម្រាប់ការផ្លាស់ប្តូរទិន្នន័យដែលគ្មានទិន្នន័យគឺគ្រាន់តែជាអត្ថប្រយោជន៍មួយក្នុងចំណោមអត្ថប្រយោជន៍ជាច្រើនដែលក្រុមហ៊ុន Amazon SageMaker Processing ផ្តល់ជូន។

from sagemaker.processing import ProcessingInput, ProcessingOutput
from time import gmtime, strftime processing_job_name = "tf-2-workflow-{}".format(strftime("%d-%H-%M-%S", gmtime()))
output_destination = 's3://{}/{}/data'.format(bucket, s3_prefix) sklearn_processor.run(code='preprocessing.py', job_name=processing_job_name, inputs=[ProcessingInput( source=raw_s3, destination='/opt/ml/processing/input', s3_data_distribution_type='ShardedByS3Key')], outputs=[ProcessingOutput(output_name='train', destination='{}/train'.format(output_destination), source='/opt/ml/processing/train'), ProcessingOutput(output_name='test', destination='{}/test'.format(output_destination), source='/opt/ml/processing/test')])

ការបណ្តុះបណ្តាលធ្វើកូដកម្មនិងលេខកូដចូលជាមួយរបៀបមូលដ្ឋាន

នៅពេលសំណុំទិន្នន័យបានត្រៀមរួចរាល់សម្រាប់ការបណ្តុះបណ្តាលជំហានបន្ទាប់គឺគំរូកូដបណ្តុះបណ្តាល។ សម្រាប់ TensorFlow 2 លំហូរការងារងាយស្រួលបំផុតគឺត្រូវផ្តល់ស្គ្រីបបណ្តុះបណ្តាលសម្រាប់ការទទួលទានដោយកុងតឺន័រ Amazon SageMaker TensorFlow 2 ។ លក្ខណៈពិសេសនេះត្រូវបានដាក់ឈ្មោះ របៀបស្គ្រីបនិងធ្វើការយ៉ាងរលូនជាមួយក្រុមហ៊ុន Amazon SageMaker របៀបមូលដ្ឋាន លក្ខណៈពិសេសនៃការបណ្តុះបណ្តាល។

របៀបមូលដ្ឋានគឺជាមធ្យោបាយងាយស្រួលមួយដើម្បីធ្វើឱ្យប្រាកដថាកូដកំពុងដំណើរការនៅលើកុំព្យូទ័រយួរដៃមុនពេលផ្លាស់ប្តូរទៅទំហំពេញដោយទទួលបានការបណ្តុះបណ្តាលនៅក្នុងចង្កោមទំហំខាងស្តាំដាច់ដោយឡែកដែលក្រុមហ៊ុន Amazon SageMaker គ្រប់គ្រង។ នៅក្នុងរបៀបមូលដ្ឋានអ្នកហ្វឹកហាត់ជាធម្មតាក្នុងរយៈពេលខ្លីមួយសំរាប់រយៈពេលពីរបីវិនាទីដែលអាចធ្វើទៅបានតែគំរូនៃសំណុំទិន្នន័យពេញលេញដើម្បីបញ្ជាក់កូដនេះដំណើរការបានត្រឹមត្រូវនិងជៀសវាងខ្ជះខ្ជាយពេលវេលាហ្វឹកហាត់ពេញលេញ។ សូមបញ្ជាក់ប្រភេទវត្ថុផងដែរ local_gpu or localអាស្រ័យលើថាតើកុំព្យូទ័រយួរដៃស្ថិតនៅលើ GPU ឬ CPU ។

from sagemaker.tensorflow import TensorFlow git_config = {'repo': 'https://github.com/aws-samples/amazon-sagemaker-script-mode', 'branch': 'master'} model_dir = '/opt/ml/model'
train_instance_type = 'local'
hyperparameters = {'epochs': 5, 'batch_size': 128, 'learning_rate': 0.01}
local_estimator = TensorFlow(git_config=git_config, source_dir='tf-2-workflow/train_model', entry_point='train.py', model_dir=model_dir, train_instance_type=train_instance_type, train_instance_count=1, hyperparameters=hyperparameters, role=sagemaker.get_execution_role(), base_job_name='tf-2-workflow', framework_version='2.1', py_version='py3', script_mode=True)

ទោះបីជាការបណ្តុះបណ្តាលរបៀបក្នុងស្រុកមានប្រយោជន៍ខ្លាំងណាស់ក្នុងការធ្វើឱ្យប្រាកដថាកូដបណ្តុះបណ្តាលដំណើរការមុនពេលបន្តទៅការបណ្តុះបណ្តាលពេញលេញប៉ុន្តែវាក៏មានភាពងាយស្រួលផងដែរដើម្បីឱ្យមានវិធីងាយស្រួលក្នុងការបង្កើតកូដ inference ក្នុងមូលដ្ឋាន។ លទ្ធភាពមួយគឺត្រូវយក TensorFlow SavedModel វត្ថុបុរាណឬប៉ុស្តិ៍ត្រួតពិនិត្យគំរូមួយដែលបានរក្សាទុកនៅក្នុង Amazon S3 ហើយផ្ទុកវានៅក្នុងសៀវភៅកត់ត្រាសម្រាប់ការសាកល្បង។ ទោះយ៉ាងណាវិធីងាយស្រួលជាងនេះគឺប្រើចំណុចបញ្ចប់នៃរបៀបមូលដ្ឋាន។

អ្នកអាចដាក់ពង្រាយគំរូមួយនៅក្នុងចំណុចចុងក្រោយនៃរបៀបមូលដ្ឋានដែលមានកុងដង់អាម៉ាហ្ស៊ីមឺរថេនហ្វ័រវ៉ូដដោយប្រើវត្ថុប៉ាន់ស្មានពីការងារបណ្តុះបណ្តាលរបៀបមូលដ្ឋាន។ លើកលែងតែការលើកលែងមួយលេខកូដនេះគឺដូចគ្នានឹងលេខកូដសម្រាប់ប្រើគំរូដល់ចំណុចបញ្ចប់នៃម៉ាស៊ីនដាច់ដោយឡែក។ គ្រាន់តែប្រើវិធីដាក់ពង្រាយរបស់អ្នកប៉ាន់ស្មានក្នុងស្រុកហើយបញ្ជាក់ជាថ្មីម្តងទៀតនូវប្រភេទវត្ថុឧទាហរណ៍ local_gpu or localអាស្រ័យលើថាតើកុំព្យូទ័រយួរដៃស្ថិតនៅលើ GPU ឬ CPU ។

local_predictor = local_estimator.deploy(initial_instance_count=1, instance_type='local')
local_results = local_predictor.predict(x_test[:10])['predictions']

មុនពេលប្រើរបៀបមូលដ្ឋានត្រូវប្រាកដថា docker-តែងឬ nvidia-docker-compose (សម្រាប់ GPU instances) អាចដំណើរការលើឧទាហរណ៍របស់អ្នក។ ឃ្លាំង GitHub សម្រាប់ការប្រកាសប្លុកនេះមានស្គ្រីបដែលអ្នកអាចប្រើសម្រាប់គោលបំណងនេះ។

ការលៃតម្រូវម៉ូដែលដោយស្វ័យប្រវត្តិ

បន្ទាប់ពីការធ្វើត្រាប់តាមបានបញ្ចប់ជំហានបន្ទាប់គឺត្រូវប្រើក្រុមហ៊ុន Amazon SageMaker រៀបចំការបណ្តុះបណ្តាលនិងការតំឡើងម៉ូដែលដោយស្វ័យប្រវត្តិ។ ការបណ្តុះបណ្តាលធ្វើជាម្ចាស់ផ្ទះត្រូវបានគេពេញចិត្តសម្រាប់ការបណ្តុះបណ្តាលពេញលេញជាពិសេសការបណ្តុះបណ្តាលខ្នាតធំនិងចែកចាយ។ មិនដូចរបៀបក្នុងស្រុកទេសម្រាប់ការហ្វឹកហាត់ការបណ្តុះបណ្តាលពិតប្រាកដកើតឡើងមិនមែននៅលើសៀវភៅកត់ត្រាដោយខ្លួនឯងទេប៉ុន្តែនៅលើម៉ាស៊ីនមួយដែលដាច់ដោយឡែកដែលក្រុមហ៊ុន Amazon SageMaker គ្រប់គ្រង។ វត្ថុប៉ាន់ស្មានសម្រាប់ការបណ្តុះបណ្តាលដែលបានរៀបចំគឺស្រដៀងនឹងការប៉ាន់ស្មានរបៀបមូលដ្ឋានលើកលែងតែចំណុចដូចខាងក្រោមៈ

ដូចគ្នានេះផងដែរដោយសារតែរបៀបគំរូក្នុងតំបន់បង្ហាញពីកូដបណ្តុះបណ្តាលកំពុងធ្វើការអ្នកអាចកែប្រែអ្នកប៉ាន់ស្មានការបណ្តុះបណ្តាលដើម្បីហ្វឹកហាត់សំរាប់អេផិចមួយចំនួនធំនិងនៅលើសំណុំទិន្នន័យពេញលេញប្រសិនបើអ្នកទើបតែប្រើគំរូនៅក្នុងរបៀបមូលដ្ឋាន។

ទោះយ៉ាងណាការរត់ការបណ្តុះបណ្តាលបុគ្គលិកជាលក្ខណៈបុគ្គលនិងការបង្កើតអ៊ីនធឺរណែតដោយដៃដើម្បីស្វែងរកគំរូល្អបំផុតទំនងជាកិច្ចការដែលគួរឱ្យខ្លាចនិងចំណាយពេលច្រើន។ ការជ្រើសរើសបន្សំត្រឹមត្រូវនៃ hyperparameters អាស្រ័យលើសំណុំទិន្នន័យនិងក្បួនដោះស្រាយ។ ក្បួនដោះស្រាយខ្លះមានអ៊ីហ្វ្រេកង់ច្រើនខុសគ្នាដែលអ្នកអាចបង្កើនល្បឿនបានខ្លះទៀតងាយនឹងគុណតម្លៃអ៊ីនធឺរប៉ាទិកដែលត្រូវបានជ្រើសរើសហើយភាគច្រើនមានទំនាក់ទំនងមិនត្រង់រវាងសមម៉ូដែលនិងតម្លៃអ៊ីពែរខុល។ ការតំឡើងម៉ូឌែលស្វ័យប្រវត្តិបង្កើនល្បឿនដំណើរការនៃការកែសំរួលៈវាដំណើរការការងារបណ្តុះបណ្តាលជាច្រើនជាមួយនឹងបន្សំអ៊ីហ្វ្រែនផ្លេម៉ាតខុសៗគ្នាដើម្បីស្វែងរកឈុតជាមួយនឹងការអនុវត្តគំរូល្អបំផុត។

ដូចដែលបានបង្ហាញនៅក្នុងឧទាហរណ៍កូដខាងក្រោមដើម្បីប្រើការលៃតម្រូវម៉ូឌែលស្វ័យប្រវត្តិដំបូងបង្អស់ត្រូវបញ្ជាក់ hyperparameters ដើម្បីសម្រួលជួរលៃតម្រូវរបស់វានិងម៉ែត្រគោលបំណងដើម្បីបង្កើនប្រសិទ្ធភាព។ ក HyperparameterTuner វត្ថុយកវត្ថុទាំងនេះជាប៉ារ៉ាម៉ែត្រ។ ការងារលៃតម្រូវនីមួយៗក៏ត្រូវបញ្ជាក់ពីចំនួនការងារបណ្តុះបណ្តាលអតិបរិមានៅក្នុងការងារដែលត្រូវបានលៃតម្រូវក្នុងករណីនេះ ១៥ និងចំនួនភាពស្របគ្នាប៉ុន្មានដែលត្រូវប្រើក្នុងករណីនេះការងារចំនួន ៥ ក្នុងពេលតែមួយ។ ជាមួយនឹងប៉ារ៉ាម៉ែត្រទាំងនេះការងារនៃការលៃតម្រូវបានបញ្ចប់បន្ទាប់ពីបីស៊េរីនៃការងារចំនួនប្រាំស្របគ្នាត្រូវបានដំណើរការ។ ចំពោះយុទ្ធសាស្រ្តកែសំរួលបង្កើនប្រសិទ្ធិភាព Bayesian ជាលទ្ធផលលទ្ធផលនៃក្រុមការងារបណ្តុះបណ្តាលមុន ៗ ជូនដំណឹងដល់ការស្វែងរកការលៃតម្រូវដូច្នេះវាល្អប្រសើរក្នុងការបែងចែកពួកវាទៅជាក្រុមនៃការងារស្របជំនួសអោយការរត់ស្របគ្នា។ មានការដោះដូរមួយគឺៈការប្រើប្រាស់ការងារស្របគ្នាកាន់តែច្រើនបញ្ចប់ការកែសំរួលឆាប់ៗប៉ុន្តែទំនងជាការលះបង់ដើម្បីស្វែងរកភាពត្រឹមត្រូវនៃការស្វែងរក។

from sagemaker.tuner import IntegerParameter, CategoricalParameter, ContinuousParameter, HyperparameterTuner hyperparameter_ranges = { 'learning_rate': ContinuousParameter(0.001, 0.2, scaling_type="Logarithmic"), 'epochs': IntegerParameter(10, 50), 'batch_size': IntegerParameter(64, 256),
} metric_definitions = [{'Name': 'loss', 'Regex': ' loss: ([0-9\.]+)'}, {'Name': 'val_loss', 'Regex': ' val_loss: ([0-9\.]+)'}] objective_metric_name = 'val_loss'
objective_type = 'Minimize' tuner = HyperparameterTuner(estimator, objective_metric_name, hyperparameter_ranges, metric_definitions, max_jobs=15, max_parallel_jobs=5, objective_type=objective_type) tuning_job_name = "tf-2-workflow-{}".format(strftime("%d-%H-%M-%S", gmtime()))
tuner.fit(inputs, job_name=tuning_job_name)

ការដាក់ពង្រាយនិងស្វ័យប្រវត្តិកម្មលំហូរការងារជាមួយអេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេសអេស

ជម្រើសដ៏ងាយស្រួលក្នុងការដាក់ចេញនូវគំរូល្អបំផុតពីការកែសំរួលគឺកន្លែងទទួលភ្ញៀវរបស់ក្រុមហ៊ុន Amazon SageMaker ដែលបម្រើការព្យាករណ៍ពេលវេលាពិតប្រាកដ (ការងារផ្លាស់ប្តូរបាច់ក៏មានសម្រាប់ការព្យាករណ៍អសមកាលនិងក្រៅបណ្តាញផងដែរ) ។ ចំណុចបញ្ចប់ទាញយក TensorFlow SavedModel ហើយដាក់ពង្រាយវាទៅក្នុងកុងតឺន័រ Amazon SageMaker TensorFlow Serving ។ អ្នកអាចធ្វើវាបានដោយប្រើលេខកូដតែមួយជួរដោយទូរស័ព្ទទៅ HyperparameterTuner វិធីដាក់ពង្រាយរបស់វត្ថុ

tuning_predictor = tuner.deploy(initial_instance_count=1, instance_type='ml.m5.xlarge')

ទោះយ៉ាងណាក៏ដោយសៀវភៅកត់ត្រាគឺល្អសម្រាប់ការធ្វើគំរូដើមប៉ុន្តែសៀវភៅកត់ត្រាមិនត្រូវបានប្រើសម្រាប់ការដាក់ពង្រាយនៅក្នុងបរិដ្ឋានផលិតកម្មទេ។ ផ្ទុយទៅវិញអ្នករៀបចំចង្វាក់ការងារគឺល្អសម្រាប់ដំណើរការបំពង់ដែលមានជំហានច្រើនរួមមានការបណ្តុះបណ្តាលនិងការដាក់ពង្រាយ។ ឧទាហរណ៍បំពង់បង្ហូរដ៏សាមញ្ញមួយនៅក្នុងក្រុមហ៊ុន Amazon SageMaker មានបួនជំហាន៖

  1. បណ្តុះបណ្តាលគំរូ។
  2. ការបង្កើតវត្ថុគំរូអាម៉ាហ្សូដសាម័រដែលរុំវត្ថុបុរាណគំរូសម្រាប់បម្រើ។
  3. បង្កើតការកំណត់រចនាសម្ព័ន្ធចំណុចបញ្ចប់របស់ក្រុមហ៊ុន Amazon SageMaker ដែលបញ្ជាក់ពីរបៀបដែលគំរូគួរតែត្រូវបានបម្រើ (រួមមានប្រភេទឧទាហរណ៍និងចំនួនវត្ថុ) ។
  4. ដាក់ពង្រាយគំរូដែលបានបណ្តុះបណ្តាលទៅចំណុចបញ្ចប់នៃក្រុមហ៊ុន Amazon SageMaker ។

នេះ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ ស្វ័យប្រវត្តិកម្មដំណើរការនៃការបង្កើតនិងដំណើរការបំពង់បែបនេះដោយប្រើ Amazon SageMaker និង អនុគមន៍អេ។ អេស។ អេដែលជាសេវាកម្មតំរុយការងារដែលគ្មានម៉ាស៊ីនបម្រើ។ អេសខេអេសនេះអាចបង្កើតការបង្កើតលំហូរការងារដោយប្រើស្គ្រីប Python ខ្លីនិងសាមញ្ញដែលកំណត់ជំហានលំហូរការងារនិងច្របាច់វាជាមួយគ្នា។ មុខងារអេចអេសអេហ្វអេសសម្របសម្រួលជំហានលំហូរការងារទាំងអស់ដោយមិនចាំបាច់ឱ្យអ្នកគ្រប់គ្រងហេដ្ឋារចនាសម្ព័ន្ធមូលដ្ឋាន។

ទោះបីជា AWS ជំហានមុខងារវិទ្យាសាស្ត្រអេសឌីខេផ្តល់នូវបុព្វហេតុផ្សេងៗដើម្បីបង្កើតបំពង់បង្ហូរដ៏ស្មុគស្មាញពីទទេក៏ដោយក៏វាមានគំរូដែលបានបង្កើតសម្រាប់លំហូរការងាររួមទាំងសាមញ្ញ បណ្តាញបណ្តុះបណ្តាល លំហូរការងារសម្រាប់ការបណ្តុះបណ្តាលគំរូនិងការដាក់ពង្រាយ។ លេខកូដខាងក្រោមកំណត់រចនាសម្ព័ន្ធបំពង់មួយដែលមានប៉ារ៉ាម៉ែត្រតែពីរបីប៉ុណ្ណោះជាចម្បងអ្នកប៉ាន់ស្មានការបណ្តុះបណ្តាលនិងទីតាំងបញ្ចូលនិងលទ្ធផលនៅក្នុង Amazon S3៖

import stepfunctions
from stepfunctions.template.pipeline import TrainingPipeline workflow_execution_role = "<StepFunctions-execution-role-arn>" pipeline = TrainingPipeline( estimator=estimator, role=workflow_execution_role, inputs=inputs, s3_bucket=bucket
)

បន្ទាប់ពីអ្នកកំណត់បំពង់អ្នកអាចមើលឃើញវាជាក្រាហ្វិចភ្លាមៗនិងប្រតិបត្តិវាឱ្យបានច្រើនដងតាមតម្រូវការ។ តាមពិតអ្នកអាចដំណើរការលំហូរការងារច្រើនស្របគ្នា។ ខណៈពេលដែលលំហូរការងារកំពុងដំណើរការអ្នកអាចពិនិត្យមើលវឌ្ឍនភាពលំហូរការងារទាំងនៅក្នុងកុងសូលអេហ្វអេសអេហ្វអេសអេចអេសអេសឬដោយហៅបំពង់បង្ហូរ render_progress វិធីសាស្រ្ត។ ដ្យាក្រាមខាងក្រោមបង្ហាញពីដំណើរការលំហូរការងារដែលត្រូវបានបង្ហាញធ្វើឱ្យមានការរីកចម្រើនលើជំហានបណ្តុះបណ្តាល។

អេចអេសអេហ្វអេហ្វអេសអេហ្វអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអាចបង្កើតលំហូរការងារដែលអាចធ្វើបានជាច្រើនសម្រាប់ស្វ័យប្រវត្ដិថេនស៊រហ្វូល ២ និងគម្រោងរៀនម៉ាស៊ីនផ្សេងទៀត។ ឧទាហរណ៏មួយគឺលំហូរការងារដើម្បីធ្វើស្វ័យប្រវត្តិកម្មគំរូឡើងវិញជាទៀងទាត់។ លំហូរការងារបែបនេះអាចរួមបញ្ចូលការធ្វើតេស្តគុណភាពគំរូបន្ទាប់ពីការបណ្តុះបណ្តាលដោយមានសាខាដែលមានលក្ខខណ្ឌជាបន្តបន្ទាប់សម្រាប់ករណីឆ្លងកាត់ការធ្វើតេស្តគុណភាព (គំរូត្រូវបានដាក់ពង្រាយ) ឬបរាជ័យ (មិនមានការដាក់ពង្រាយគំរូទេ) ។ ជំហានលំហូរការងារដែលអាចធ្វើបានផ្សេងទៀតរួមមានការលៃតម្រូវម៉ូឌែលស្វ័យប្រវត្តិ, អេលអិលជាមួយ កាវអេវ, និង​ច្រើន​ទៀត។ សម្រាប់ព័ត៌មានបន្ថែមអំពីលំហូរការងារឡើងវិញសូមមើល ការតំរែតំរង់ម៉ូដែលនិងការដាក់ពង្រាយដោយស្វ័យប្រវត្តដោយប្រើអេចអេសអេហ្វអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេសអេស.

សន្និដ្ឋាន

អត្ថបទនេះបានពិភាក្សាអំពីលក្ខណៈពិសេសរបស់ក្រុមហ៊ុន Amazon SageMaker សម្រាប់ការផ្លាស់ប្តូរទិន្នន័យការបណ្តុះបណ្តាលគំរូនិងលេខកូដការតំរែតំរង់ម៉ូដែលដោយស្វ័យប្រវត្តិនិងការបណ្តុះបណ្តាលនិងការបង្ហាញ។ លើសពីនេះទៀតអ្នកបានរៀនពីរបៀបដែលអេសអេសអេអេសអេហ្វអេសអេហ្វអេសឌីអេសអេសអេសអេសអេសជួយចរន្តលំហូរការងារដោយស្វ័យប្រវត្តិបន្ទាប់ពីគំរូគម្រោងចប់។ លក្ខណៈពិសេសទាំងអស់នេះគឺជាធាតុសំខាន់នៃគម្រោងដែលពាក់ព័ន្ធនឹងថេនស៊័រហ្វូវ ២ និងក្របខ័ណ្ឌសិក្សាស៊ីជម្រៅផ្សេងទៀតនៅក្នុងក្រុមហ៊ុនអាម៉ាហ្សូនសាមឃឺរ។

បន្ថែមលើលក្ខណៈពិសេសទាំងនេះជាច្រើនផ្សេងទៀតអាចត្រូវបានអនុវត្ត។ ឧទាហរណ៍ដើម្បីដោះស្រាយបញ្ហាទូទៅក្នុងកំឡុងពេលបណ្តុះបណ្តាលគំរូដូចជាបាត់ឬផ្ទុះឡើងជម្រាល។ ក្រុមហ៊ុន Amazon SageMaker Debugger មានប្រយោជន៍។ ដើម្បីគ្រប់គ្រងបញ្ហាទូទៅដូចជាការរសាត់ទិន្នន័យសម្រាប់ម៉ូដែលដែលបានដាក់ពង្រាយនៅក្នុងផលិតកម្មអ្នកអាចអនុវត្តបាន ក្រុមហ៊ុន Amazon SageMaker Model Monitor។ សម្រាប់ព័ត៌មានបន្ថែមអំពីលក្ខណៈពិសេសលំហូរការងាររបស់ក្រុមហ៊ុន Amazon SageMaker ដែលមាននៅក្នុងប្រកាសនេះសូមមើលទាក់ទង GitHub repo ។


អំពី​អ្នកនិពន្ធ

Brent Rabowsky ផ្តោតលើវិទ្យាសាស្ត្រទិន្នន័យនៅ AWS និងបង្កើនជំនាញរបស់គាត់ដើម្បីជួយអតិថិជន AWS ជាមួយគម្រោងវិទ្យាសាស្ត្រទិន្នន័យផ្ទាល់ខ្លួន។

ប្រភព៖ https://aws.amazon.com/blogs/machine-learning/creating-a-complete-tensorflow-2-workflow-in-amazon-sagemaker/

spot_img

បញ្ញាចុងក្រោយ

spot_img

ជជែកជាមួយយើង

សួស្តី! តើខ្ញុំអាចជួយអ្នកដោយរបៀបណា?