Машинното обучение навлиза все повече в разработката на софтуер

При разработките с машинно обучение малки промени могат да доведат до големи разлики, сподели Ивайло Странджев, лидер по машинно обучение в HyperScience (снимка: Виктория Лазова / TechNews.bg)

Разработката на софтуер с машинно обучение (ML), изкуственият интелект, дизайнът, предизвикателството на ежедневните релийзи – тези и други актуални теми дискутираха специалисти по време на конференцията „Astea Conference: Practical Magic” тази събота в Интер Експо Център – София, организирана от Astea Solutions.

Голяма част от работата в ML компаниите заема самото машинното обучение (около 20-30%), останалото е стандартна разработка на софтуер. Това е съпътствано и от редица проблеми, стана ясно от лекцията на Ивайло Странджев, лидер по машинно обучение в HyperScience.

Подводните камъни на машинното обучение

Един от тях е наличието на много различни „фреймуърк” среди като Caffe, Pytorch и Tensorflow, които се разработват със „скоростта на светлината”, но същевременно са уязвими на атаки, има проблеми с контрола на броя нишки, определен тип процесори „крашват”, резултатите не са детерминистични и т.н.

Често разработките се извършват „на сляпо” – защото една застрахователна компания, например, не дава достъп до истинските си бази данни, разказа Странджев. Затова в процеса на машинното обучение се генерират данни, които само „изглеждат истински”.

Друг проблем е консистентността. Дори да подобрим точността на модела (да речем от 98 на 99%), не можем да гарантираме, че конкретен пример, който е бил верен, ще остане такъв.  Да се постигне 100 процента надеждност на решението е химера, посочи специалистът. Достатъчно голяма надеждност е 98%, но клиентът няма как да я измери.

Освен това е възможно малките промени да доведат до големи разлики – например при машинното разпознаване на снимки.

Проблемите се решават чрез добавяне на повече данни, махане на грешни данни, усложняване/опростяване на модела, след което следва ново трениране, а ако няма подобрение – отново итерации.

Последното предизвикателство в процеса на машинно обучение е следенето на версиите на моделите и възможността да се възстанови изцяло предишна версия – например, от преди 2 седмици, каза в заключение Странджев.

Предизвикателството на ежедневните релийзи

За предизвикателството на ежедневните релийзи разказа Дамян Димитров, специалист от Isobar Commerce Bulgaria. Най-важното, според него, е разработчикът да знае кой е клиентът, за когото работи. След това трябва да избере начина на тестване и какви инструменти за автоматизирано тестване да използва.

Над 500 са автоматизираните тестове, които се ползват всеки ден, и броят им непрекъснато се увеличава, разказа Дамян Димитров, специалист от Isobar Commerce Bulgaria (снимка: Виктория Лазова / TechNews.bg)

Той даде пример от работата си с компания – световен бранд, производител на спортни артикули, която притежава платформи за електронни магазини. Ежедневните релийзи за компания с 2 млрд. долара годишен оборот се правят трудно, защото сайтовете й поддържат 10 езика, над 60 вида плащания, тясна интеграция с външни услуги и т.н. Разработващият екип е от около 150 човека, разделени на под-екипи – от тях 70 на сто са програмисти, останалите 30 процента са SQL експерти, работи се в 10 под-екипа.

Когато програмистът е готов, започва верифицирането, а голяма част от него се извършва автоматично. Над 500 са автоматизираните тестове, които се ползват всеки ден, и броят им непрекъснато се увеличава.

„Коя е магията, която ни помага успешно да доставяме всеки ден работещ софтуер на клиентите си, които са милиони по цял свят? Тайната е в процеса – създаден е и се следва. Другата магия е автоматизираното тестване, защото това са функционални тестове, които трудно се поддържат”, обобщи Димитров.

Софтуерният дизайн е грижа и емпатия

„Там където има само функция, там няма дизайн. Дизайнът е грижа и емпатия”. Това каза Антон Стойчев, лектор с над 10 години опит в разработката на UI софтуер и дизайн, пред аудиторията на „Astea Conference: Practical Magic”.

Дизайнерските решения са навсякъде и ни влияят, те определят как се чувстваме, казва Антон Стойчев, специалист с над 10 години опит в разработката на UI софтуер и дизайн (снимка: Рада Станева / TechNews.bg)

„Целият дизайн е нещо като магия, той е навсякъде – в столовете на тази зала, по мокета на стълбите към залата и т.н. Дизайнът е асоциация и изживяване, той се  прави от хора с различни специалности и влияе на живота ни всеки ден, по всякакъв начин”, каза Стойчев.

По неговите думи, самата софтуерна разработка е един вид дизайн. Но софтуерният дизайн се отличава от останалия видим, триизмерен дизайн, който ни заобикаля.

Има значение как е написан кодът, дали е оптимизиран с мисъл за човека или за машината. Всеки детайл е важен, дори най-дребният. Дизайнерските решения са навсякъде и ни влияят, те определят как се чувстваме, заключи Стойчев.

Рада Станева

Рада Станева

Коментари по темата: „Машинното обучение навлиза все повече в разработката на софтуер”

добавете коментар...

  1. Anonymous

    Браво!

Коментар