Facebook AI изгражда автоматична система за диференциране на езика за програмиране Kotlin и разработва система за тензорно въвеждане. Работата ще подпомогне по-нататъшното изследване на софтуера 2.0, където софтуерът по същество се пише сам, обясняват изследователите в публикация в блога. „Като позволяваме интуитивно и ефективно диференцируемо програмиране в Kotlin, ние даваме възможност на разработчиците да създават мощни, гъвкави програми, които се възползват от структурата на проблема, като същевременно безпроблемно поддържат безопасността на типа и поддържат отстраняването на грешки просто.“

Разработен от чешката софтуерна компания JetBrains и пуснат за първи път през 2011 г., Kotlin е статично типизиран език за програмиране с общо предназначение с извеждане на типа за JVM, Android и уеб разработка. Миналата година Google направи Kotlin предпочитан език за програмиране за разработчиците на приложения за Android.

Изследователите казват, че работата им с диференцируемо програмиране - парадигма, която позволява на програмите да се оптимизират - е част от по-широките усилия на Facebook AI за изграждане на по-модерни инструменти за програмиране с машинно обучение (ML).

Повечето диференцируеми програмни рамки изграждат графика, състояща се от контролния поток и структурите на данни в програма. Както произволен потребителски, така и библиотечен код могат да бъдат включени в по-всеобхватни модели, а разработчиците могат да използват градиенти за автоматично оптимизиране на параметризирани програми, които не са написани с помощта на ML библиотеки.

С цел да разшири компилатора Kotlin, за да направи диференцируемостта първокласна характеристика на езика Kotlin, екипът на Facebook AI разработи рамка за дефиниране на потребителски диференцируеми типове данни и я използва, за да предостави и диференцируем клас Tensor. Те казват, че това ще даде възможност на потребителите да разграничават чрез традиционните ML модели, изразени в Kotlin, както и чрез произволен код на Kotlin.

Системата за тензорно въвеждане е проектирана да предостави на разработчиците извод и проверка на формата по време на компилация. Тензорното въвеждане също позволява по-добро документиране и яснота на кода, а разработчиците могат да използват анотациите на типа като документация, за да записват какви типове тензорни входове са приемливи и очаквани. Псевдонимите на типове и генеричните кодове могат да се използват за допълнително подобряване на разбираемостта, споделянето и повторното използване на кода.

За да стимулира изследователските усилия в диференцируемото програмиране, Facebook AI също така ще пусне потребителска библиотека, която се възползва максимално от системите за автоматично диференциране и тензорно въвеждане и позволява на инженерите и разработчиците лесно да преминат от всяка ML рамка към системата Kotlin.

Повече информация за езика за програмиране Kotlin можете да намерите на официалния уеб сайт.

Репортер: Юан Юан | Редактор: Майкъл Саразен

Синхронизиран отчет | Проучване на китайските решения за изкуствен интелект в отговор на пандемията от COVID-19 — 87 казуса от над 700 доставчици на AI

Този доклад предлага поглед върху това как Китай е използвал технологиите за изкуствен интелект в битката срещу COVID-19. Предлага се и на Amazon Kindle. Заедно с този доклад въведохме и база данни, обхващаща допълнителни 1428 решения за изкуствен интелект от 12 сценария на пандемия.

Щракнете тук, за да намерите още отчети от нас.

Знаем, че не искате да пропускате никакви новини или изследователски пробиви.Абонирайте се за нашия популярен бюлетин Synced Global AI Weekly, за да получавате седмични актуализации за AI.