Дэлхийн хэд хэдэн салбар машин сургалтад (ML) илүү их хөрөнгө оруулалт хийж эхэлж байна.
ML загваруудыг эхлээд мэргэжилтнүүдийн баг ажиллуулж болох боловч хамгийн том саад бэрхшээлүүдийн нэг нь олж авсан мэдлэгээ дараагийн загварт шилжүүлэх бөгөөд ингэснээр процессыг өргөжүүлэх боломжтой болно.
Загварын амьдралын мөчлөгийн менежментэд хамаарах үйл явцыг сайжруулах, стандартчилахын тулд MLOps техникийг машин сургалтын загварыг бий болгодог багууд улам бүр ашиглаж байна.
Өнөөдөр байгаа хамгийн шилдэг MLOps хэрэгсэл, платформуудын талаар болон тэдгээр нь хэрэгсэл, хөгжүүлэгч болон процедурын үүднээс машин сурахад хэрхэн хялбар болгох талаар илүү ихийг олж мэдэхийн тулд үргэлжлүүлэн уншина уу.
MLOps гэж юу вэ?
Машин сургалтын загварт зориулсан бодлого, хэм хэмжээ, шилдэг туршлагыг бий болгох арга техникийг "машин сургалтын үйл ажиллагаа" эсвэл "MLOps" гэж нэрлэдэг.
MLOps нь ML хөгжүүлэлтийн бүхий л амьдралын мөчлөгийг - үзэл баримтлалаас эхлээд байршуулах хүртэл - маш их цаг хугацаа, нөөцийг стратегигүйгээр хөрөнгө оруулалт хийхээс илүүтэйгээр нямбай баримтжуулж, хамгийн сайн үр дүнд хүргэх зорилготой.
MLOps-ийн зорилго нь машин сургалтын хөгжүүлэлтийг ML операторууд болон хөгжүүлэгчдэд илүү өргөн цар хүрээтэй болгох, мөн ML загваруудын чанар, аюулгүй байдлыг сайжруулах замаар шилдэг туршлагуудыг кодчилох явдал юм.
DevOps зарчмуудыг технологийн хөгжлийн илүү нарийн мэргэшсэн салбарт амжилттай хэрэгжүүлдэг тул зарим нь MLOps-ийг "Машин суралцахад зориулсан DevOps" гэж нэрлэдэг.
Энэ нь DevOps-ийн нэгэн адил баг болон хэрэгслүүдийн дунд мэдлэг хуваалцах, хамтран ажиллах, шилдэг туршлагыг чухалчилдаг тул MLOps-ийн талаар бодоход хэрэгтэй арга юм.
MLOps нь хөгжүүлэгчид, өгөгдөл судлаачид, үйл ажиллагааны багуудад хамтран ажиллах, үр дүнд нь хамгийн хүчирхэг ML загваруудыг үйлдвэрлэх тогтолцоог бий болгодог.
Яагаад MLOps хэрэгслийг ашиглах хэрэгтэй вэ?
MLOps хэрэгслүүд ML багийн хувьд өргөн хүрээний үүргийг гүйцэтгэж чаддаг боловч тэдгээрийг платформын удирдлага болон бие даасан бүрэлдэхүүн хэсгийн менежмент гэсэн хоёр бүлэгт хуваадаг.
Зарим MLOps бүтээгдэхүүнүүд өгөгдөл эсвэл мета өгөгдлийн менежмент гэх мэт зөвхөн нэг үндсэн функц дээр төвлөрдөг бол бусад хэрэгслүүд илүү өргөн хүрээг хамарсан стратеги баримталж, ML амьдралын мөчлөгийн хэд хэдэн талыг хянах MLOps платформоор хангадаг.
Мэргэжилтэн эсвэл илүү өргөн хүрээний хэрэгсэл хайж байгаа эсэхээс үл хамааран эдгээр ML хөгжүүлэх талбаруудыг удирдахад танай багт туслах MLOps шийдлүүдийг хайж олоорой:
- Өгөгдөлтэй ажиллах
- Дизайн ба загварчлал
- Төсөл, ажлын байрны менежмент
- ML загварыг байршуулах, байнгын засвар үйлчилгээ
- Амьдралын мөчлөгийн менежментийг эхнээс нь дуустал хийдэг бөгөөд үүнийг ихэвчлэн бүрэн үйлчилгээтэй MLOps платформууд санал болгодог.
MLOps хэрэгслүүд
1. MLFlow
Машины сургалтын амьдралын мөчлөгийг нээлттэй эхийн MLflow платформоор удирддаг бөгөөд төв загварын бүртгэл, байршуулалт, туршилтыг багтаадаг.
MLflow-ийг ямар ч хэмжээтэй баг дангаар нь болон хамтад нь ашиглаж болно. Номын сангууд хэрэгсэлд ямар ч хамааралгүй.
Ямар ч програмчлалын хэл, машин сургалтын номын сан үүнийг ашиглаж болно.
Машин сургалтын программуудыг сургах, байрлуулах, удирдахад хялбар болгохын тулд MLFlow нь хэд хэдэн машин сургалтын тогтолцоотой харилцдаг. TensorFlow болон Питорк.
Нэмж дурдахад, MLflow нь одоо байгаа машин сургалтын программууд эсвэл номын санд оруулах боломжтой ашиглахад хялбар API-уудыг өгдөг.
MLflow нь туршилтыг хянах, төлөвлөхөд туслах дөрвөн үндсэн функцтэй:
- MLflow Tracking – машин сургалтын кодын параметрүүд, хувилбарууд, хэмжүүрүүд болон олдворуудыг бүртгэх, дараа нь үр дүнг харуулах, харьцуулах зориулалттай API болон UI.
- MLflow Төслүүд – машин сургалтын кодыг дахин ашиглах боломжтой, хуулбарлах форматаар савлаж, үйлдвэрлэлд шилжүүлэх эсвэл бусад өгөгдөл судлаачидтай хуваалцах боломжтой.
- MLflow загварууд – төрөл бүрийн ML номын сангуудын загвар үйлчилгээ болон дүгнэлтийн системд загваруудыг хадгалах, ашиглах.
- MLflow Загварын Бүртгэл – MLflow загварын бүх ашиглалтын хугацаа, тухайлбал загварын хувилбар, үе шат шилжилт, тэмдэглэгээ зэргийг хамтран удирдах боломжийг олгодог төв загварын дэлгүүр.
2. Кубефлов
Kubernetes-д зориулсан ML хэрэгслийн хайрцгийг Kubeflow гэдэг. Докер савыг савлах, удирдах нь засвар үйлчилгээ хийхэд тусалдаг машин сургалтын систем.
Машин сургалтын ажлын урсгалыг ажиллуулах, зохион байгуулах ажлыг хялбарчлах замаар энэ нь машин сургалтын загваруудын өргөтгөх чадварыг дэмждэг.
Энэ нь ML-ийн өөр өөр хэрэгцээнд тохирсон нэмэлт хэрэгсэл, хүрээг сайтар сонгосон бүлэг агуулсан нээлттэй эхийн төсөл юм.
ML-ийн урт хугацааны сургалтын даалгаврууд, гарын авлагын туршилт, давтагдах чадвар, DevOps сорилтуудыг Kubeflow Pipelines ашиглан шийдвэрлэх боломжтой.
Сургалт, дамжуулах хоолой боловсруулах, засвар үйлчилгээ зэрэг машин сургалтын хэд хэдэн үе шатанд зориулагдсан Бархасбадь гаригийн дэвтэр, Kubeflow нь тусгай үйлчилгээ, нэгтгэлийг санал болгодог.
Энэ нь таны AI-ийн ажлын ачааллыг удирдах, хянах, машин сургалтын (ML) загварууд болон өгөгдлийн дамжуулах шугамыг Kubernetes кластерт байрлуулахад хялбар болгодог.
Энэ нь дараахийг санал болгодог:
- Системтэй харилцахын тулд SDK-г ашиглах дэвтэр
- гүйлт, ажил, туршилтыг хянах, хянах хэрэглэгчийн интерфэйс (UI).
- Бүр дахин бүтээх шаардлагагүй, эд анги, дамжуулах хоолойг дахин ашиглахгүйгээр эцсийн шийдлүүдийг хурдан зохион бүтээх.
- Kubeflow-ийн гол бүрэлдэхүүн хэсэг эсвэл бие даасан суурилуулалтын хувьд Kubeflow Pipelines-ийг санал болгож байна.
3. Өгөгдлийн хувилбарын хяналт
Машин сургалтын төслүүдэд зориулсан нээлттэй эхийн хувилбарын хяналтын шийдлийг DVC буюу Data Version Control гэж нэрлэдэг.
Та ямар ч хэл сонгосон бай, энэ нь дамжуулах хоолойн тодорхойлолтод туслах туршилтын хэрэгсэл юм.
DVC нь таны ML загварын өмнөх хувилбартай холбоотой асуудлыг олж илрүүлэхэд цаг хэмнэхэд тань туслах зорилгоор код, өгөгдлийн хувилбар болон хуулбарлах чадварыг ашигладаг.
Нэмж дурдахад, та загвараа сургаж, багийн гишүүддээ түгээхийн тулд DVC дамжуулах хоолойг ашиглаж болно. Том өгөгдлийн зохион байгуулалт, хувилбарыг DVC-ээр зохицуулж, өгөгдлийг хялбархан хандах боломжтой хэлбэрээр хадгалах боломжтой.
Хэдийгээр энэ нь туршилтыг хянах зарим (хязгаарлагдмал) функцуудыг агуулдаг боловч энэ нь ихэвчлэн өгөгдөл, дамжуулах хоолойн хувилбар, менежментэд анхаарлаа хандуулдаг.
Энэ нь дараахийг санал болгодог:
- Энэ нь агуулахын шинж чанаргүй тул янз бүрийн төрлийн хадгалах хэрэгслийг ашиглах боломжтой.
- Энэ нь хянах статистикийг бас өгдөг.
- ML-ийн үе шатуудыг DAG-д нэгтгэх, дамжуулах хоолойг эхнээс нь дуустал ажиллуулах урьдчилан бүтээсэн хэрэгсэл
- ML загвар бүрийн хөгжлийг бүхэлд нь код болон өгөгдлийн гарал үүслийг ашиглан дагаж болно.
- Туршилтын анхны тохиргоо, оролтын өгөгдөл, програмын кодыг үнэнчээр хадгалснаар дахин давтагдах боломжтой.
4. Пахидерм
Pachyderm нь DVC-тэй төстэй машин сургалт, мэдээллийн шинжлэх ухааны хувилбарыг хянах програм юм.
Нэмж хэлэхэд, үүнийг ашиглан бүтээсэн учраас Докер ба Кубернетес, энэ нь ямар ч үүлэн платформ дээр Machine Learning програмуудыг ажиллуулж, байршуулах боломжтой.
Pachyderm нь машин сургалтын загварт хэрэглэгдэж буй өгөгдөл бүрийг хянаж, хуулбарлах боломжтой гэдгийг баталгаажуулдаг.
Энэ нь машин сургалтын загварыг бий болгох, түгээх, удирдах, хянахад ашиглагддаг. Загварын бүртгэл, загварын удирдлагын систем, CLI хэрэгслийн хайрцаг зэргийг багтаасан болно.
Хөгжүүлэгчид Pachyderm-ийн өгөгдлийн санг ашиглан машин сурах амьдралынхаа мөчлөгийг автоматжуулж, өргөтгөх боломжтой бөгөөд энэ нь давтагдах чадварыг баталгаажуулдаг.
Энэ нь өгөгдлийн засаглалын хатуу стандартыг дэмжиж, өгөгдөл боловсруулах, хадгалах зардлыг бууруулж, бизнесүүдэд мэдээллийн шинжлэх ухааны санаачилгаа зах зээлд илүү хурдан нэвтрүүлэхэд тусалдаг.
5. Поляксон
Поляксон платформыг ашиглан машин сургалтын төслүүд болон гүнзгий сургалтын програмуудыг бүх амьдралынхаа туршид хуулбарлаж, удирдах боломжтой.
Поляксон нь уг хэрэгслийг байршуулах, удирдах чадвартай бөгөөд үүнийг ямар ч дата төв эсвэл үүлэн үйлчилгээ үзүүлэгч дээр байрлуулах боломжтой. Torch, Tensorflow, MXNet зэрэг хамгийн алдартай гүнзгий сургалтын тогтолцоог дэмждэг.
Зохиолын тухай ярихад Поляксон нь CLI, хяналтын самбар, SDK эсвэл REST API-ээр дамжуулан даалгавар, тестийг төлөвлөх замаар кластераа хамгийн сайн ашиглах боломжийг олгодог.
Энэ нь дараахийг санал болгодог:
- Та яг одоо нээлттэй эхийн хувилбарыг ашиглаж болно, гэхдээ энэ нь корпорацийн сонголтуудыг багтаасан болно.
- Хэдийгээр энэ нь гүйлтийн найрал хөгжим зэрэг амьдралын мөчлөгийг бүхэлд нь хамардаг ч илүү их зүйлийг хийх боломжтой.
- Техникийн лавлагааны баримт бичиг, эхлүүлэх заавар, сургалтын хэрэглэгдэхүүн, гарын авлага, заавар, өөрчлөлтийн бүртгэл гэх мэт маш сайн баримтжуулсан платформ юм.
- Туршилтын мэдээллийн хяналтын самбарын тусламжтайгаар оновчлолын туршилт бүрийг ажиглаж, хянах, үнэлэх боломжтой.
6. Сүүлт
Comet бол туршилт, загварыг хянах, харьцуулах, тайлбарлах, сайжруулах мета машин сурах платформ юм.
Таны бүх туршилтыг нэг газраас харж, харьцуулж болно.
Энэ нь ямар ч машин сургалтын даалгавар, таны кодыг хаана ч гүйцэтгэсэн газар болон машин сургалтын дурын номын сантай хамт ажилладаг.
Сүүлт од нь туршилтыг хурдан дүрслэн харуулах, ажлыг хялбарчлах, туршилт хийх хүсэлтэй бүлэг, хувь хүмүүс, эрдэм шинжилгээний байгууллага, бизнес болон бусад хүмүүст тохиромжтой.
Өгөгдлийн судлаачид болон багууд бие даасан болон үүлэнд суурилсан мета машин сургалтын платформ Comet ашиглан туршилт, загварыг хянах, тодруулах, сайжруулах, харьцуулах боломжтой.
Энэ нь дараахийг санал болгодог:
- Багийн гишүүдэд даалгавраа хуваалцах олон боломжууд байдаг.
- Энэ нь бусад технологитой холбоход хялбар болгодог хэд хэдэн интеграцчилалтай
- Одоогийн ML номын сангуудтай сайн ажилладаг
- Хэрэглэгчийн удирдлагад санаа тавьдаг
- Код, гиперпараметр, хэмжигдэхүүн, таамаглал, хамаарал, системийн хэмжигдэхүүнийг харьцуулах зэрэг туршилтуудын харьцуулалтыг идэвхжүүлсэн.
- Дээжийг дүрслэн харуулах алсын хараа, аудио, текст болон хүснэгтийн өгөгдөлд зориулсан ялгаатай модулиудаар хангадаг.
7. Оптуна
Optuna бол машин суралцах, гүнзгий суралцах болон бусад салбарт ашиглах боломжтой гиперпараметрийн бие даасан оновчлолын систем юм.
Энэ нь та сонгох (эсвэл холбох) боломжтой олон төрлийн хамгийн сүүлийн үеийн алгоритмуудыг агуулдаг бөгөөд олон тооны компьютерууд дээр сургалтыг түгээхэд хялбар болгож, үр дүнгийн сэтгэл татам дүрслэлийг санал болгодог.
PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM, XGBoost зэрэг машин сургалтын алдартай номын сангууд бүгд үүнтэй нэгдсэн.
Энэ нь ирээдүйтэй мэт санагдахгүй дээжийг хурдан бууруулах замаар хэрэглэгчдэд илүү хурдан үр дүнд хүрэх боломжийг олгодог хамгийн сүүлийн үеийн алгоритмуудыг өгдөг.
Python дээр суурилсан алгоритмуудыг ашиглан хамгийн тохиромжтой гиперпараметрүүдийг автоматаар хайдаг. Optuna нь анхны кодыг өөрчлөхгүйгээр олон хэлхээн дэх параллель гиперпараметр хайлтыг дэмждэг.
Энэ нь дараахийг санал болгодог:
- Энэ нь нэг компьютер (олон процесс) (олон зангилаа) дээр хуваарилагдсан сургалтыг дэмждэг.
- Энэ нь нийлэлтийг хурдасгах (мөн тооцоолол бага ашиглах) хэд хэдэн тайрах техникийг дэмждэг.
- Энэ нь зүсмэл зураг, контурын зураг, зэрэгцээ координат гэх мэт олон төрлийн хүчирхэг дүрслэлтэй.
8. Кедро
Kedro бол өгөгдлийн шинжлэх ухааны төслүүдэд шинэчлэгдэж, засвар үйлчилгээ хийх боломжтой код бичих үнэгүй Python хүрээ юм.
Энэ нь програм хангамжийн инженерчлэлийн шилдэг туршлагаас машин сургалтын код руу санаа авчирдаг. Python бол энэхүү ажлын урсгалын зохион байгуулалтын хэрэгслийн үндэс суурь юм.
ML процессуудаа илүү хялбар, илүү нарийвчлалтай болгохын тулд та хуулбарлах боломжтой, засвар үйлчилгээ хийх боломжтой, модульчлагдсан ажлын урсгалыг боловсруулж болно.
Кедро нь модульчлах, үүрэг хариуцлагыг хуваах, хувилбар гаргах зэрэг програм хангамжийн инженерчлэлийн зарчмуудыг машин сургалтын орчинд нэгтгэдэг.
Cookiecutter Data Science-ийн үндсэн дээр энэ нь нийтлэг, дасан зохицох боломжтой төслийн хүрээг хангадаг.
Хэд хэдэн файлын систем болон файлын форматаар өгөгдлийг хадгалах, ачаалахад ашигладаг хэд хэдэн энгийн өгөгдлийн холбогчийг өгөгдлийн каталогоор удирддаг. Энэ нь машин сургалтын төслүүдийг илүү үр дүнтэй болгож, өгөгдөл дамжуулах шугамыг бий болгоход хялбар болгодог.
Энэ нь дараахийг санал болгодог:
- Кедро нь тархсан эсвэл ганцаарчилсан машин байрлуулах боломжийг олгодог.
- Та дамжуулах хоолойн хийсвэрлэлийг ашиглан Python код болон ажлын урсгалын дүрслэл хоорондын хамаарлыг автоматжуулах боломжтой.
- Модульчлагдсан, дахин ашиглах боломжтой кодыг ашигласнаар энэ технологи нь янз бүрийн түвшинд багийн хамтын ажиллагааг хөнгөвчлөх бөгөөд кодчиллын орчинд бүтээмжийг сайжруулдаг.
- Гол зорилго нь мэдээллийн шинжлэх ухааны програмчлалыг бичих замаар Jupyter дэвтэр, нэг удаагийн скрипт, цавуу кодын сул талыг арилгах явдал юм.
9. BentoML
BentoML-ийн тусламжтайгаар машин сургалтын API төгсгөлийн цэгүүдийг бүтээх нь илүү хялбар болсон.
Энэ нь сурсан машин сургалтын загваруудыг үйлдвэрлэлд шилжүүлэх ердийн боловч хураангуй дэд бүтцийг бий болгодог.
Энэ нь танд сурсан загваруудаа үйлдвэрлэлийн нөхцөлд ашиглахын тулд багцалж, дурын ML хүрээ ашиглан тайлбарлах боломжийг олгоно. Офлайн багц үйлчилгээ болон онлайн API үйлчилгээг хоёуланг нь дэмждэг.
Өндөр хүчин чадалтай загвар сервер болон уян хатан ажлын урсгал нь BentoML-ийн онцлог юм.
Нэмж дурдахад сервер нь дасан зохицох бичил багцыг санал болгодог. Загваруудыг зохион байгуулах, байршуулах процедурыг хянах нэгдсэн арга барилыг UI хяналтын самбараар хангадаг.
Үйлдлийн механизм нь модульчлагдсан, тохиргоог дахин ашиглах боломжтой тул серверийн сул зогсолт байхгүй болно. Энэ нь ML загваруудыг хангах, зохион байгуулах, ашиглах уян хатан платформ юм.
Энэ нь дараахийг санал болгодог:
- Энэ нь дасан зохицох боломжтой модульчлагдсан загвартай.
- Энэ нь хэд хэдэн платформ дээр байрлуулах боломжийг олгодог.
- Энэ нь хэвтээ масштабыг автоматаар зохицуулах боломжгүй.
- Энэ нь нэг загварын формат, загварын удирдлага, загварын сав баглаа боодол, өндөр гүйцэтгэлтэй загвараар үйлчлэх боломжийг олгодог.
10. Селдон
Мэдээллийн эрдэмтэд Кубернетес дээр нээлттэй эхийн Seldon Core хүрээг ашиглан машин сургалтын загвар, туршилтуудыг үүсгэж, байрлуулж, удирдах боломжтой.
TensorFlow, sci-kit-learn, Spark, R, Java, H2O зэрэг нь түүний дэмждэг цөөн хэдэн хэрэглүүр юм.
Энэ нь мөн Kubeflow болон RedHat-ийн OpenShift-тэй ажилладаг. Seldon цөм нь машин сургалтын загварууд (ML загварууд) эсвэл хэлний багцуудыг (Python, Java гэх мэт хэлүүд) үйлдвэрлэлийн REST/GRPC микро үйлчилгээ болгон хувиргадаг.
Машин сургалтын үйл явцыг сайжруулах шилдэг MLOps хэрэгслүүдийн нэг бол энэ юм.
Seldon Core ашиглан ML загваруудыг хадгалах, ашиглах боломжтой байдал, аюулгүй байдлыг шалгахад хялбар байдаг.
Энэ нь дараахийг санал болгодог:
- Загвар байршуулалтыг канарын байршуулалт гэх мэт хэд хэдэн хувилбараар хялбаршуулж болно.
- Тодорхой таамаглал яагаад хийгдсэнийг ойлгохын тулд загвар тайлбарлагчийг ашиглана уу.
- Асуудал гарсан тохиолдолд дохиоллын системийг ашиглан үйлдвэрлэлийн загваруудыг анхаарч үзээрэй.
Дүгнэлт
MLOps нь машин сургалтын үйл ажиллагааг сайжруулахад тусална. MLOps нь байршуулалтыг хурдасгаж, өгөгдөл цуглуулах, дибаг хийхийг хялбаршуулж, инженерүүд болон өгөгдөл судлаачдын хамтын ажиллагааг сайжруулж чадна.
Таны хэрэгцээнд хамгийн сайн тохирох MLOps хэрэгслийг сонгохын тулд энэ нийтлэлд 10 алдартай MLOps шийдлүүдийг авч үзсэн бөгөөд ихэнх нь нээлттэй эх сурвалж юм.
хариу үлдээх