Код пяти новых инструментов выложили в открытый доступ разработчики Facebook. Два из них созданы для работы с системами искусственного интеллекта и технологиями машинного обучения. Они вызвали особое внимание участников конференции F8, где компания презентовала инструменты.
Что такое F8
F8 – ежегодная конференция для разработчиков, которую Facebook проводит с 2007 года. Название мероприятия произошло от 8-часовых хакатонов, которые стали традицией для компании. Изначально F8 проводилась в Сан-Франциско. Но в 2016 году ее перенесли в другой калифорнийский город – Сан-Хосе в сердце Силиконовой долины.
На конференции Facebook анонсирует новые функции и инструменты. F8 2019 стартовала 30 апреля и продлилась два дня. Девиз конференции - «Будущее приватно».
Навстречу машинному обучению
Ax, или Adaptive eXperimentation – платформа для запуска и развертывания экспериментов на базе искусственного интеллекта. Ax подходит для сложных с точки зрения математики опытов и поддерживает несколько техник поиска: оптимизацию многорукого бандита и байесовскую оптимизацию на основе библиотеки BoTorch. Разработчики используют байесовскую оптимизацию для поиска оптимальной конфигурации системы с ограниченным бюджетом экспериментальных испытаний.
BoTorch – новая модульная библиотека, основанная на PyTorch для Python. Модульная конструкция BoTorch позволяет настраивать алгоритм, переставляя его отдельные компоненты. С помощью новой библиотеки разработчики могут исследовать современные методы байесовской оптимизации.
Автоматизация под iOS
idb (iOS Development Bridge) автоматизирует готовые продукты под мобильную ОС Apple – устройства и эмуляторы. Разработчики предоставили интерфейс командной строки и API на базе простых примитивов. idb можно использовать для автоматизации процессов любой сложности. Решение имеет клиент-серверную архитектуру, так что распределить работу, созданную на его основе, можно между любым количеством устройств.
Анализ и визуализация
Во всех сервисах Facebook используется jemalloc – распределитель памяти, который позволяет выгружать данные для последующей работы с ними. Memscout – надстройка над jemalloc. Это инструмент для анализа и визуализации данных, который представляет информацию в наглядном виде.
Memscout интерпретирует необработанные данные из файла статистики jemalloc формата JSON и выявляет проблемы в работе распределителя. Статистику Memscout можно использовать для быстрой диагностики проблем производительности, связанных с памятью.
Транспортный интернет-протокол
Новый инструмент mvfst – это реализация популярного транспортного интернет-протокола QUIC. Цель разработки mvfst – получить максимально гибкий и эффективный транспортный протокол, который приложения могут адаптировать для сценариев использования в интернете и в центрах обработки данных. Инструмент с открытым исходным кодом лоялен к сетевым перегрузкам, поддерживает 0-RTT-соединения и разделение каналов.
Решения Facebook по работе с машинным обучением имеют открытый исходный код