Имрӯзҳо ҳамарӯза хидматҳо, замимаҳо ва дигар барномаҳои муҳими нав эҷод мешаванд, ки имкон медиҳанд чизҳои аҷоибро эҷод кунанд: аз нармафзор барои идоракунии мушаки SpaceX то ҳамкорӣ бо чойник дар ҳуҷраи ҳамсоя тавассути смартфон.
Ва баъзан, ҳар як барномасози навкор, хоҳ ӯ як стартапи дилчасп бошад, хоҳ Full Stack ё Data Scientist, дер ё зуд дарк мекунад, ки қоидаҳои муайяни барномасозӣ ва эҷоди нармафзор мавҷуданд, ки ҳаётро хеле содда мекунанд.
Дар ин мақола, ман ба таври мухтасар 10 принсипи барномасозии омӯзиши мошинҳои саноатиро тавсиф мекунам, то он ба осонӣ ба барнома/хизмат дар асоси методологияи 12-омили App ворид карда шавад. аз ҷониби дастаи Ҳероку пешниҳод шудааст. Ташаббуси ман баланд бардоштани огоҳии ин техника аст, ки метавонад ба бисёр таҳиягарон ва одамони илми маълумот кӯмак расонад.
Ин мақола як муқаддимаи як қатор мақолаҳо дар бораи омӯзиши мошинҳои саноатӣ мебошад. Дар онҳо ман минбаъд дар бораи чӣ гуна воқеан модел сохтан ва ба истеҳсолот роҳ додан, API барои он эҷод кардан, инчунин мисолҳо аз соҳаҳо ва ширкатҳое, ки дар системаҳои худ ML-и дарунсохт доранд, сӯҳбат хоҳам кард.
Принсипи 1: Як пойгоҳи код
Баъзе барномасозон дар марҳилаҳои аввал аз танбалӣ барои фаҳмидани он (ё бо ягон сабаби худ) Git-ро фаромӯш мекунанд. Онҳо ё калимаро комилан фаромӯш мекунанд, яъне файлҳоро дар диск ба ҳамдигар мепартоянд/танҳо матн мепартоянд/аз ҷониби кабӯтарҳо мефиристанд, ё ҷараёни кори худро фикр намекунанд ва ҳар якеро ба филиали худ ва сипас ба устод.
Ин принсип мегӯяд: як базаи рамзӣ ва бисёр ҷойгиркунӣ доранд.
Git метавонад ҳам дар истеҳсолот ва ҳам дар тадқиқот ва коркард (R&D) истифода шавад, ки дар он он чандон зиёд истифода намешавад.
Масалан, дар марҳилаи R&D шумо метавонед ӯҳдадориҳоро бо усулҳо ва моделҳои гуногуни коркарди додаҳо гузоред, то беҳтаринашро интихоб кунед ва ба осонӣ кор бо он идома диҳед.
Сониян, дар истеҳсолот ин чизи ивазнашаванда аст - ба шумо лозим меояд, ки доимо ба он назар андозед, ки коди шумо чӣ гуна тағир меёбад ва бидонед, ки кадом модел натиҷаҳои беҳтарин дод, кадом код дар ниҳоят кор кард ва чӣ ҳодиса рӯй дод, ки он корро қатъ кард ё ба истеҳсоли натиҷаҳои нодуруст шурӯъ кард. . Ухдадорихо барои хамин аст!
Шумо инчунин метавонед як бастаи лоиҳаи худро эҷод карда, онро, масалан, дар Gemfury ҷойгир кунед ва сипас танҳо аз он функсияҳоро барои лоиҳаҳои дигар ворид кунед, то онҳоро 1000 маротиба аз нав нанависед, балки дар ин бора баъдтар.
Принсипи 2: Возеҳу возеҳ эълон ва ҷудо кардани вобастагӣ
Ҳар як лоиҳа китобхонаҳои гуногун дорад, ки шумо аз берун ворид мекунед, то онҳоро дар ҷое татбиқ кунед. Новобаста аз он ки он китобхонаҳои Python ё китобхонаҳои забонҳои дигар барои мақсадҳои гуногун ё асбобҳои системавӣ - вазифаи шумо ин аст:
Возеҳу равшан эълон кардани вобастагӣ, яъне файле, ки дорои тамоми китобхонаҳо, асбобҳо ва версияҳои онҳо дар лоиҳаи шумо истифода мешаванд ва бояд насб карда шаванд (масалан, дар Python ин метавонад бо истифода аз Pipfile ё requirements.txt анҷом дода шавад. A. пайванде, ки барои фаҳмидани хуб имкон медиҳад: realpython.com/pipenv-guide)
Вобастагиҳоро махсусан барои барномаи шумо ҳангоми таҳия ҷудо кунед. Шумо намехоҳед доимо версияҳоро тағир диҳед ва аз нав насб кунед, масалан, Tensorflow?
Бо ин роҳ, таҳиягароне, ки дар оянда ба дастаи шумо ҳамроҳ мешаванд, метавонанд зуд бо китобхонаҳо ва версияҳои онҳо, ки дар лоиҳаи шумо истифода мешаванд, шинос шаванд ва шумо инчунин имкон доред, ки версияҳо ва китобхонаҳои худи барои як барномаи мушаххас насбшударо идора кунед. лоиҳа, ки ба шумо кӯмак мекунад, ки аз номувофиқатии китобхонаҳо ё версияҳои онҳо канорагирӣ кунед.
Масалан, агар шумо API-и Kaggle-ро барои гузаронидани санҷишҳо истифода баред (масалан, нармафзорро зеркашӣ кунед ва моделро тавассути он иҷро кунед, то санҷиши он ки модел хуб кор мекунад), пас калидҳои хусусии Kaggle, ба монанди KAGGLE_USERNAME ва KAGGLE_KEY, бояд бошанд. дар тағирёбандаҳои муҳити зист нигоҳ дошта мешаванд.
Принсипи 4: Хидматҳои тарафи сеюм
Дар ин ҷо идея он аст, ки барнома тавре эҷод карда шавад, ки байни захираҳои маҳаллӣ ва сеюм аз ҷиҳати код фарқият вуҷуд надошта бошад. Масалан, шумо метавонед ҳам MySQL-и маҳаллӣ ва ҳам шахсони сеюмро пайваст кунед. Ҳамин чиз барои API-ҳои гуногун ба монанди Google Maps ё Twitter API меравад.
Шумо метавонед бастаҳоро бо версияҳои гуногуни модели омӯзиши мошинии худ эҷод кунед ва сипас онҳоро бастабандӣ кунед ва ба бастаҳои зарурӣ ва версияҳои онҳо муроҷиат кунед, то функсияҳои аз он ҷо навишташударо истифода баред. Ин ба шумо кӯмак мекунад, ки API барои модели худ эҷод кунед ва бастаи шумо метавонад дар Gemfury ҷойгир карда шавад.
Принсипи 6. Модели худро ҳамчун як ё якчанд раванд иҷро кунед
Ғайр аз он, равандҳо набояд маълумоти муштарак дошта бошанд. Яъне, равандҳо бояд алоҳида вуҷуд дошта бошанд ва ҳама намуди маълумот бояд алоҳида мавҷуд бошанд, масалан, дар хидматҳои тарафи сеюм ба монанди MySQL ё дигарон, вобаста ба он чизе, ки ба шумо лозим аст.
Барои омӯзиши мошинҳои саноатӣ, ин марҳила хеле муҳим аст, зеро шумо бояд фаҳмед, ки модел дуруст кор мекунад ва он чизеро, ки шумо мехостед, истеҳсол мекунад.
Санҷишҳоро бо истифода аз pytest сохтан мумкин аст ва агар шумо вазифаи регрессия/таснифот дошта бошед, бо истифода аз маҷмӯи додаҳои хурд санҷида шавад.
Фаромӯш накунед, ки як тухмиро барои моделҳои омӯзиши амиқ насб кунед, то онҳо пайваста натиҷаҳои гуногун надиҳанд.
Ин тавсифи мухтасари 10 принсип буд ва, албатта, истифодаи онҳо бидуни кӯшиш ва дидани он, ки чӣ тавр кор мекунанд, душвор аст, бинобар ин ин мақола танҳо як муқаддимаи як қатор мақолаҳои ҷолиб аст, ки дар он ман чӣ гуна эҷод карданро ошкор мекунам. моделҳои омӯзиши мошинҳои саноатӣ, чӣ гуна онҳоро ба системаҳо муттаҳид кардан ва чӣ гуна ин принсипҳо метавонанд ҳаётро барои ҳамаи мо осонтар кунанд.
Ман инчунин кӯшиш мекунам, ки принсипҳои олиҷаноберо истифода барам, ки ҳар кас метавонад дар шарҳҳо, агар бихоҳад, гузорад.