Съдържание[Крия][Покажи]
- 1. Какво имате предвид под MLOps?
- 2. Как се различават един от друг специалистите по данни, инженерите по данни и ML инженерите?
- 3. Какво отличава MLOps от ModelOps и AIOps?
- 4. Можете ли да ми кажете някои от предимствата на MLOps?
- 5. Можете ли да ми кажете компонентите на MLOps?
- 6. Какви рискове идва с използването на наука за данни?
- 7. Можете ли да обясните какво е дрейф на модела?
- 8. По колко различни начина могат да се прилагат MLO, според вас?
- 9. Какво отличава статичното внедряване от динамичното?
- 10. Какви техники за производствено тестване познавате?
- 11. Какво отличава поточната обработка от груповата обработка?
- 12. Какво имате предвид под Training Serving Skew?
- 13. Какво имате предвид под моделен регистър?
- 14. Можете ли да разкажете повече за предимствата на моделния регистър?
- 15. Можете ли да обясните как работи техниката Champion-Challenger?
- 16. Опишете приложенията на ниво предприятие от жизнения цикъл на MLOps?
- Заключение
Компаниите използват все по-често нововъзникващи технологии като изкуствен интелект (AI) и машинно обучение (ML), за да увеличат обществения достъп до информация и услуги.
Тези технологии все повече се използват в различни сектори, включително банкиране, финанси, търговия на дребно, производство и дори здравеопазване.
Учени по данни, инженери по машинно обучение и инженери по изкуствен интелект са търсени от все по-голям брой компании.
Познавайки възможното машинно обучение Въпросите за оперативно интервю, които мениджърите по наемане и подбор на персонал биха могли да ви зададат, са от съществено значение, ако искате да работите в областта на ML или MLOps.
Можете да научите как да отговаряте на някои от въпросите за интервюто за MLOps в тази публикация, докато работите за получаване на мечтаната работа.
1. Какво имате предвид под MLOps?
Темата за операционализирането на ML модели е във фокуса на MLOps, известни също като Machine Learning Operations, развиваща се област в по-голямата арена на AI/DS/ML.
Основната цел на подхода и културата на софтуерното инженерство, известни като MLOps, е да интегрира създаването на модели за машинно обучение/наука за данни и тяхното последващо операционализиране (Ops).
Конвенционалните DevOps и MLOps споделят някои прилики, но MLOps също се различава значително от традиционните DevOps.
MLOps добавя нов слой на сложност, като се фокусира върху данните, докато DevOps се фокусира основно върху операционализиране на код и версии на софтуер, които не могат да бъдат със състояние.
Комбинацията от ML, Data и Ops е това, което дава общоприетото име на MLOps (машинно обучение, инженеринг на данни и DevOps).
2. Как се различават един от друг специалистите по данни, инженерите по данни и ML инженерите?
Според мен варира в зависимост от фирмата. Средата за транспортиране и трансформиране на данни, както и тяхното съхранение, е изградена от инженери по данни.
Учените по данни са експерти в използването на научни и статистически техники за анализиране на данни и извличане на заключения, включително правене на прогнози за бъдещо поведение въз основа на тенденциите, които са налице в момента.
Софтуерните инженери изучаваха операциите и управлението на инфраструктурата за внедряване преди няколко години. Оперативните екипи, от друга страна, изучаваха развитието, докато използваха инфраструктурата като код. DevOps позиция е създадена от тези два потока.
MLOps е в същата категория като Data Scientist и инженер по данни. Инженерите по данни придобиват знания за инфраструктурата, необходима за поддържане на жизнения цикъл на модела и създаване на конвейери за текущо обучение.
Учените по данни се стремят да развият възможностите си за внедряване на модели и точкуване.
Тръбопроводът за данни от производствен клас е изграден от инженери на ML, използващи инфраструктурата, която трансформира необработените данни във входните данни, необходими за модел на науката за данни, хоства и изпълнява модела и извежда набор от данни към системи надолу по веригата.
Както инженерите по данни, така и учените по данни са способни да станат ML инженери.
3. Какво отличава MLOps от ModelOps и AIOps?
При конструиране от край до край алгоритми за машинно обучение, MLOps е приложение DevOps, което включва събиране на данни, предварителна обработка на данни, създаване на модел, внедряване на модел в производство, мониторинг на модела в производство и периодично надграждане на модела.
Използването на DevOps при обработката на цялостното внедряване на всякакви алгоритми, като модели, базирани на правила, е известно като ModelOps.
AI Ops използва принципите на DevOps за създаване на AI приложения от нулата.
4. Можете ли да ми кажете някои от предимствата на MLOps?
- Учените по данни и разработчиците на MLOps могат бързо да проведат отново изпитания, за да гарантират, че моделите са обучени и оценени по подходящ начин, тъй като MLOps помага за автоматизирането на всички или повечето задачи/стъпки в MDLC (жизнен цикъл на разработка на модел). Допълнително разрешителни данни и моделиране на версии.
- Прилагането на идеите на MLOps на практика позволява на инженерите по данни и учените по данни да имат неограничен достъп до култивирани и курирани набори от данни, което експоненциално ускорява разработването на модели.
- Изследователите на данни ще могат да се върнат към модела, който се представи по-добре, ако текущата итерация не оправдае очакванията, благодарение на възможността моделите и наборите от данни да са веризирани, което значително ще подобри одитната пътека на модела.
- Тъй като методите MLOps силно разчитат на DevOps, те също така включват редица CI/CD концепции, което подобрява качество и надеждност на кода.
5. Можете ли да ми кажете компонентите на MLOps?
Дизайн: MLO в голяма степен включват дизайнерско мислене. Като се започне от естеството на проблема, тестване на хипотези, архитектура и внедряване
Изграждане на модели: Тестването и валидирането на модела са част от тази стъпка, заедно с тръбопроводите за инженеринг на данни и експериментирането за създаване на най-добрите системи за машинно обучение.
Операции: Моделът трябва да се внедри като част от операциите и непрекъснато да се проверява и оценява. След това процесите на CI/CD се наблюдават и стартират с помощта на инструмент за оркестрация.
6. Какви рискове идва с използването на наука за данни?
- Трудно е мащабирането на модела в цялата компания.
- Без предупреждение моделът се изключва и спира да функционира.
- В повечето случаи точността на моделите се влошава с времето.
- Моделът прави неточни прогнози въз основа на конкретно наблюдение, което не може да бъде допълнително изследвано.
- Учените по данни също трябва да поддържат модели, но те са скъпи.
- MLO могат да се използват за намаляване на тези рискове.
7. Можете ли да обясните какво е дрейф на модела?
Когато производителността на фазата на извод на модел (използвайки данни от реалния свят) се влоши от неговата производителност на фазата на обучение, това е известно като отклонение на модела, известно също като отклонение на идеята (използване на исторически, етикетирани данни).
Производителността на модела е изкривена в сравнение с фазите на обучение и сервиране, оттук и името „изкривяване на трениране/сервиране“.
Множество фактори, включително:
- Основният начин, по който се разпространяват данните, се е променил.
- Обучението се съсредоточи върху малък брой категории, но екологичната промяна, която току-що се случи, добави още една област.
- При НЛП трудностите данните от реалния свят имат непропорционално по-голямо количество числови жетони от данните за обучение.
- Неочаквани събития, като например модел, изграден върху данни от преди COVID-19, за който се прогнозира, че ще се представя значително по-лошо при данни, събрани по време на епидемията от COVID-XNUMX.
Постоянното наблюдение на производителността на модела винаги е необходимо за идентифициране на отклонението на модела.
Преобучението на модела е почти винаги необходимо като средство за защита, когато има постоянен спад в представянето на модела; трябва да се установи причината за спада и да се използват подходящи процедури за лечение.
8. По колко различни начина могат да се прилагат MLO, според вас?
Има три метода за прилагане на MLO на практика:
MLOps ниво 0 (ръчен процес): На това ниво всички стъпки — включително подготовка на данни, анализ и обучение — се извършват ръчно. Всеки етап трябва да се извършва ръчно, както и преходът от един към следващ.
Основната предпоставка е, че вашият екип за наука за данни управлява само малък брой модели, които не се актуализират често.
В резултат на това няма непрекъсната интеграция (CI) или непрекъснато внедряване (CD), а тестването на кода обикновено е интегрирано в изпълнение на скрипт или изпълнение на бележник, като внедряването се извършва в микроуслуга с REST API.
MLOps ниво 1 (автоматизация на тръбопровода на ML): Чрез автоматизиране на процеса на машинно обучение, целта е непрекъснато да се обучава моделът (CT). По този начин можете да постигнете непрекъснато предоставяне на услуга за прогнозиране на модела.
Нашето внедряване на цял конвейер за обучение гарантира, че моделът се обучава автоматично в производството, използвайки нови данни въз основа на активни задействания на конвейера.
MLOps ниво 2 (автоматизация на тръбопровода CI/CD): Отива една стъпка над нивото на MLOps. Необходима е силна автоматизирана CI/CD система, ако искате да актуализирате тръбопроводите в производството бързо и надеждно:
- Вие създавате изходен код и изпълнявате множество тестове през целия етап на CI. Пакетите, изпълнимите файлове и артефактите са резултатите от етапа, които ще бъдат внедрени по-късно.
- Артефактите, създадени от етапа на CI, се разгръщат в целевата среда по време на етапа на CD. Резултатът от етапа е разгърнат тръбопровод с ревизирана реализация на модела.
- Преди тръбопроводът да започне нова итерация на експеримента, специалистите по данни трябва да направят ръчно фазата на анализ на данните и модела.
9. Какво отличава статичното внедряване от динамичното?
Моделът се обучава офлайн за Статично разполагане. С други думи, ние обучаваме модела точно веднъж и след това го използваме за известно време. След като моделът е обучен локално, той се съхранява и изпраща на сървъра, за да се използва за създаване на прогнози в реално време.
След това моделът се разпространява като инсталируем приложен софтуер. програма, която позволява партидно оценяване на заявки, като илюстрация.
Моделът е обучен онлайн за Динамично внедряване. Тоест нови данни непрекъснато се добавят към системата и моделът се актуализира непрекъснато, за да ги отчете.
В резултат на това можете да правите прогнози, като използвате сървър при поискване. След това моделът се пуска в употреба, като се доставя като крайна точка на API, която реагира на потребителски заявки, използвайки уеб рамка като Flask или FastAPI.
10. Какви техники за производствено тестване познавате?
Партидно тестване: Чрез провеждане на тестване в настройка, различна от тази на средата за обучение, той проверява модела. Използвайки метрики по избор, като точност, RMSE и т.н., пакетното тестване се извършва върху група проби от данни, за да се провери изводът на модела.
Пакетното тестване може да се извърши на различни компютърни платформи, като тестов сървър, отдалечен сървър или облак. Обикновено моделът се предоставя като сериализиран файл, който се зарежда като обект и се извлича от тестови данни.
A / B тестване: Често се използва за анализ на маркетингови кампании, както и за проектиране на услуги (уебсайтове, мобилни приложения и др.).
Въз основа на компанията или операциите се използват статистически подходи за анализ на резултатите от A/B тестване, за да се реши кой модел ще се представи по-добре в производството. Обикновено A/B тестването се извършва по следния начин:
- Данните на живо или в реално време се разделят или сегментират на два набора, набор A и набор B.
- Данните от комплект A се изпращат към остарелия модел, докато данните от набор B се изпращат към актуализирания модел.
- В зависимост от случая или процесите на бизнес употреба могат да се използват няколко статистически подхода за оценка на производителността на модела (например точност, прецизност и т.н.), за да се определи дали новият модел (модел B) превъзхожда стария модел (модел A).
- След това извършваме статистическо тестване на хипотези: Нулевата хипотеза казва, че новият модел няма ефект върху средната стойност на наблюдаваните бизнес показатели. Според алтернативната хипотеза новият модел повишава средната стойност на наблюдаваните бизнес показатели.
- И накрая, ние оценяваме дали новият модел води до значително подобрение на определени бизнес KPI.
Тест в сянка или сцена: Моделът се оценява в дубликат на производствена среда, преди да бъде използван в производството (среда за етап).
Това е от решаващо значение за определяне на производителността на модела с данни в реално време и валидиране на устойчивостта на модела. се извършва чрез извеждане на същите данни като производствения тръбопровод и доставяне на разработения клон или модел за тестване на етапен сървър.
Единственият недостатък е, че никакви бизнес избори няма да бъдат направени на етапния сървър или видими за крайните потребители в резултат на клона за разработка.
Устойчивостта и производителността на модела ще бъдат оценени статистически, като се използват резултатите от етапната среда, като се използват подходящите показатели.
11. Какво отличава поточната обработка от груповата обработка?
Можем да манипулираме характеристиките, които използваме, за да произвеждаме нашите прогнози в реално време, като използваме два метода на обработка: партиден и поточен.
Партиден процес характеристики от предишен момент във времето за конкретен обект, който след това се използва за генериране на прогнози в реално време.
- Тук можем да правим интензивни изчисления на функции офлайн и да подготвим данните за бърз извод.
- Характеристики, обаче, възраст, тъй като те са били предопределени в миналото. Това може да е голям недостатък, ако прогнозата ви се основава на скорошни събития. (Например идентифициране на измамни транзакции възможно най-скоро.)
С функции за поточно предаване в почти реално време за конкретен обект, изводът се извършва при поточна обработка на даден набор от входове.
- Тук, като предоставим на модела функции за стрийминг в реално време, можем да получим по-точни прогнози.
- Необходима е обаче допълнителна инфраструктура за обработка на потоци и за поддържане на потоци от данни (Kafka, Kinesis и т.н.). (Apache Flink, Beam и др.)
12. Какво имате предвид под Training Serving Skew?
Несъответствието между представянето при сервиране и представянето по време на тренировка е известно като изкривяване при сервиране при тренировка. Това изкривяване може да бъде предизвикано от следните фактори:
- Разлика в начина, по който обработвате данни между тръбопроводите за обслужване и обучение.
- Преместване на данните от вашето обучение към вашата услуга.
- Канал за обратна връзка между вашия алгоритъм и модел.
13. Какво имате предвид под моделен регистър?
Регистърът на моделите е централно хранилище, където създателите на модели могат да публикуват модели, които са подходящи за използване в производството.
Разработчиците могат да си сътрудничат с други екипи и заинтересовани страни, за да управляват продължителността на живота на всички модели в бизнеса, използвайки регистъра. Обучените модели могат да бъдат качени в регистъра на моделите от специалист по данни.
Моделите са подготвени за тестване, валидиране и внедряване в производство, след като бъдат в регистъра. Освен това обучените модели се съхраняват в регистри на модели за бърз достъп от всяко интегрирано приложение или услуга.
За да тествате, оцените и внедрите модела в производство, софтуерни разработчици и рецензентите могат бързо да разпознаят и изберат само най-добрата версия на обучените модели (въз основа на критериите за оценка).
14. Можете ли да разкажете повече за предимствата на моделния регистър?
Следват някои начини, по които регистърът на модела рационализира управлението на жизнения цикъл на модела:
- За да улесните внедряването, запазете изискванията за време на изпълнение и метаданните за вашите обучени модели.
- Вашите обучени, внедрени и пенсионирани модели трябва да бъдат регистрирани, проследявани и версии в централизирано хранилище с възможност за търсене.
- Създайте автоматизирани тръбопроводи, които позволяват непрекъсната доставка, обучение и интегриране на вашия производствен модел.
- Сравнете новообучени модели (или модели на претенденти) в средата на етапа с модели, които в момента работят в производство (модели шампиони).
15. Можете ли да обясните как работи техниката Champion-Challenger?
Възможно е да се тестват различни оперативни решения в производството, като се използва техника Champion Challenger. Вероятно сте чували за A/B тестване в контекста на маркетинга.
Например, можете да напишете два отделни тематични реда и да ги разпределите на случаен принцип към вашата целева демографска група, за да увеличите максимално отворения процент за имейл кампания.
Системата регистрира ефективността на имейла (т.е. действието при отваряне на имейл) по отношение на неговия ред за тема, което ви позволява да сравните скоростта на отваряне на всеки ред за тема, за да определите кой е най-ефективен.
Champion-Challenger е сравним с A/B тестването в това отношение. Можете да използвате логиката на вземане на решения, за да оцените всеки резултат и да изберете най-ефективния, докато експериментирате с различни методи, за да стигнете до избор.
Най-успешният модел корелира с шампиона. Първият претендент и съответстващият списък с претенденти вече са всичко, което присъства в първата фаза на изпълнение вместо шампиона.
Шампионът се избира от системата за по-нататъшни изпълнения на работни стъпки.
Претендентите са противопоставени един на друг. След това новият шампион се определя от претендента, който постига най-добри резултати.
Задачите, включени в процеса на сравнение между шампион и претендент, са изброени по-долу в повече подробности:
- Оценяване на всеки от конкурентните модели.
- Оценяване на крайните резултати.
- Сравняване на резултатите от оценката, за да се установи победителят претендент.
- Добавяне на новия шампион към архива
16. Опишете приложенията на ниво предприятие от жизнения цикъл на MLOps?
Трябва да спрем да разглеждаме машинното обучение само като итеративен експеримент, за да могат моделите за машинно обучение да влязат в производство. MLOps е съюзът на софтуерното инженерство с машинното обучение.
Крайният резултат трябва да си представяме като такъв. Следователно кодът на технологичния продукт трябва да бъде тестван, функционален и модулен.
MLOps има живот, който е сравним с конвенционалния поток на машинно обучение, с изключение на това, че моделът се съхранява в процеса до производството.
След това инженерите на MLOps следят това, за да се уверят, че качеството на модела в производството е това, което е предвидено.
Ето някои случаи на употреба за няколко от MLOps технологиите:
- Регистри на модели: това е, което изглежда. По-големите екипи съхраняват и поддържат проследяване на моделите на версиите в регистрите на моделите. Дори връщането към предишна версия е опция.
- Съхранение на функции: Когато работите с по-големи набори от данни, може да има различни версии на аналитичните набори от данни и подмножества за конкретни задачи. Магазинът за функции е авангарден, изискан начин за използване на работата по подготовката на данни от по-ранни изпълнения или от други екипи.
- Хранилища за метаданни: От решаващо значение е метаданните да се наблюдават правилно по време на производството, ако неструктурираните данни, като картинни и текстови данни, трябва да се използват успешно.
Заключение
Важно е да имате предвид, че в повечето случаи интервюиращият търси система, докато кандидатът търси решение.
Първият се основава на вашите технически умения, докато вторият се отнася изцяло до метода, който използвате, за да демонстрирате своята компетентност.
Има няколко процедури, които трябва да предприемете, когато отговаряте на въпроси на интервю за MLOps, за да помогнете на интервюиращия да разбере по-добре как възнамерявате да оцените и да се справите с проблема.
Тяхната концентрация е повече върху неправилната реакция, отколкото върху правилната. Едно решение разказва история и вашата система е най-добрата илюстрация на вашите знания и капацитет за комуникация.
Оставете коментар