Для многих людей во всем мире прошедший год стал годом возобновления человеческих связей и деятельности сообществ. В компании Meta эта тенденция реализовалась в виде работы над открытым исходным кодом. Разработчики, пользователи и организации объединили свои усилия в стремлении и далее развивать технологии с открытым исходным кодом.
Проекты, опубликованные Meta для общего доступа, направлены на удовлетворение потребностей и решение задач разработчиков — от создания искусственного интеллекта следующего поколения до разработки инновационных и удобных веб-приложений и услуг — в то время как сообщество разработчиков приложений с открытым кодом обеспечивает канал для обмена технологиями и их совместного использования.
В этой публикации рассматриваются основные моменты реализации проекта Meta Open Source, а также участие компании Meta в создании сообщества разработчиков приложений с открытым кодом в 2022 году. Она также включает в себя информацию об обновлениях инструментов и кода, которой поделились Meta и ее специалисты, в том числе основные разработки для фреймворка PyTorch, выпуск библиотеки React 18, представление клиента системы управления версиями исходного кода от компании Sapling и многое другое.
Разделы публикации:
Разные точки зрения и содействие многих людей способствуют развитию проектов с открытым исходным кодом. Компания Meta активно ищет возможности в тех областях, в которых сотрудничество с уже действующими фондами может обеспечить достижение общих целей. В прошлом году несколько проектов, представленных Meta, стали частью того или иного фонда, что позволило еще больше демократизировать ресурсы с открытым исходным кодом, которые предлагают эти фонды, и расширить возможности для управления ими.
В сентябре фреймворк PyTorch для искусственного интеллекта стал частью фонда Linux Foundation, для чего был создан новый фонд PyTorch Foundation. Совет, в который входят лидеры отрасли, со временем планирует расшириться и будет выступать в качестве организатора общественной деятельности и руководителя в области маркетинга для продвижения технологий.
В прошлом году начат перенос фреймворка в фонд OpenJS Foundation. Этот проект с открытым исходным кодом является одним из наиболее широко используемых фреймворков для тестирования JavaScript. Одной из целью этого фонда является обеспечение доступности проекта для новых пользователей и разработка новых функций.
Компания Meta стремится стимулировать дальнейшее внедрение инновационных разработок в проектах с открытым исходным кодом, которые она безвозмездно передает фондам. В 2022 году Meta углубила свое сотрудничество с фондом Presto Foundation, перейдя на самый высокий уровень членства в этой организации. Meta также выступила спонсором Дня PrestoCon и PrestoCon, первой конференции фонда с личным участием.
Заголовок: Девелопер-адвокаты Meta и дополнительные члены команды Meta Open Source на конференции All Things Open в октябре прошлого года.
В течение всего года девелопер-адвокаты и разработчики компании Meta искали эффективные возможности для распространения информации и учились у экспертов и организаций сообщества, а также делились информацией о проектах с открытым исходным кодом, начатых в Meta.
Ознакомьтесь с материалами, подготовленными девелопер-адвокатами Meta:
Девелопер-адвокаты и члены команды Open Source компании Meta посетили юбилейную 10 конференцию All Things Open, на которой они представляли проект Meta Open Source. Перед началом этой встречи технический директор Киллиан Мерфи поделился своими мыслями о том, как Meta работает над устранением преград для участников проектов с открытым исходным кодом и стремится сделать открытый исходный код доступным для всех. Компания Meta старается установить высокие стандарты для привлечения всех, кто хочет использовать разработки и вносить свой вклад в развитие технологий, для которых компания предоставила открытый код.
На конференции All Things Open команда Meta Open Source также представила стенд, чтобы рассказать о проектах Meta и встретиться с разработчиками, которые используют эти технологии в исследованиях и во всей отрасли. Девелопер-адвокаты и разработчики также выступили на этом мероприятии.
Ознакомьтесь с выступлениями команды девелопер-адвокатов на конференции All Things Open-2022:
Публикации в блогах от сотрудников команды Meta Linux Kernel с описанием их текущих исследований и разработок. Публикации включают в себя информацию о том, как присоединиться к сообществу Linux. 11 членов расширенной команды Meta выступили на конференции для разработчиков Linux Plumbers Conference 2022. Полный список выступлений можно найти на веб-сайте конференции. Эта команда также начала выпуск серии "Meet the Developers" (Познакомьтесь с разработчиками) с участием нескольких разработчиков Meta, присутствовавших на конференции, на которой рассматривались такие темы, как обзор сетевых событий BPF и удобство для пользователей в Meta, живое обновление ядра с масштабированием и многие другие.
Команда Meta Linux Kernel поддерживает направление разработки ядра системы таким образом, чтобы оптимизировать его использование в Meta и улучшить состояние более широкого сообщества. Команда тесно сотрудничает с сообществом разработчиков ядра Linux и следит за тем, чтобы проекты предназначались для включения в первую очередь оригинальной и сторонней версий ядра.
В блоге Meta Open Source в статье "Hasher-Matcher-Actioner Contributor’s Story" была представлена работа получателей стипендии MLH FellowshipФранклина Пхана и Самяка Мехты, а компания Meta не прекращала поддерживать эту программу в партнерстве с GitHub и лигой Major League Hacking.
В серии статей "Meta Contributor’s Story" говорится об успехах и проблемах, связанных с развитием проекта открытого исходного кода, а также приводятся рекомендации для участия в жизни этого сообщества. Ознакомьтесь с публикациями в блоге за 2022 год:
Метавселенная стремится стать местом, в котором люди могут объединяться и взаимодействовать друг с другом, используя новые инновационные способы. Чтобы создать максимально полезную для всех метавселенную, ее необходимо построить на основе сильного сообщества и при этом задействовать самые разные подходы.
Сообщества с открытым исходным кодом, с присущей им направленностью на сотрудничество, являются естественной отправной точкой для помощи в важных дискуссиях, которые будут формировать метавселенную, поэтому девелопер-адвокаты из Meta приняли участие в обсуждении. Навята Бава продолжила серию “Поощрение инклюзивности в виртуальной реальности” на проводившейся в июне конференции "Global Women in Tech Network", в рамках которой она рассказала, как можно создавать инклюзивные и доступные приложения виртуальной реальности, поскольку работа в виртуальной и дополненной реальности продолжает набирать обороты.
В эпизоде подкаста Stack Overflow "Вот каково это — разрабатывать виртуальную реальность в Meta", руководитель девелоперов-адвокатов Кэми Уильямс рассказала, как Reality Labs может учиться у сообщества React и налаживать связь с ним, а также описала некоторые инструменты и ресурсы, которые помогут начать разработку для виртуальной реальности.
Поскольку компания Meta стремится расширять присутствие в сообществе и предлагать инструменты для разработки в экосистеме виртуальной реальности, она представила образцы Quest на GitHub. Чтобы помочь популяризировать эти инструменты, Бава подготовила серию "Создание многопользовательской виртуальной реальности" для Oculus Platform SDK и образец SharedSpaces для Unity, а также руководство "Создание интуитивно понятных взаимодействий для виртуальной реальности" для Interaction SDK и образцы приложения First Hand.
В публикации блога "Лето Open Source: перспективы развития виртуальной реальности" были представлены некоторые из последних инноваций в этой области от Meta, а также приведено интервью с инженером-программистом Эриком Ле Со в 14 эпизоде подкаста The Diff. Просмотрите список роликов о дополненной и виртуальной реальности, чтобы найти недавние интервью с разработчиками Meta, руководства и ресурсы в этой области.
2022 год стал важным годом для PyTorch и новых моделей от лаборатории Meta AI, которые предназначены расширить возможности для всех, от исследователей до создателей. Вот некоторые из способов, используя которые компания Meta расширила возможности для обучения, оптимизации и развертывания моделей искусственного интеллекта.
После переноса в фонд PyTorch Foundation (в рамках фонда Linux Foundation) на конференции PyTorch, прошедшей в декабре в Новом Орлеане, был представлен фреймворк PyTorch 2.0. Цифры, представленные на конференции, демонстрируют, какое распространение получил фреймворк PyTorch и насколько расширилось его сообщество в 2022 году: PyTorch использовался в 63 % исследовательских проектов, связанных с искусственным интеллектом, в то время как, по данным GitHub, по сравнению с предыдущим годом количество репозиториев GitHub, использующих PyTorch, увеличилось на 45 %.
PyTorch 2.0 сочетает в себе результаты многолетних исследований, что позволяет улучшить производительность его компилятора и при этом сохранить те возможности PyTorch, которые пользователи уже знают и любят. Среди обновлений — повышение скорости работы благодаря использованию однострочного кода с помощью torch.compile, стопроцентная обратная совместимость и компилятор, полностью основанный на Python.
Познакомьтесь с другим контентом PyTorch 2022 от девелопер-адвокатов и разработчиков Meta:
Список видеороликов: Серия вопросов и ответов, посвященных PyTorch 2.0
Видеоруководства: Параллелизм распределенных данных в PyTorch
Блог: Создание более эффективного искусственного интеллекта с PyTorch
Фреймворки для обучения и оптимизации моделей помогают создавать модели искусственного интеллекта, которые способны решать реальные задачи, дополняя умения людей. Примером этой взаимности является перевод с одного языка на другой, когда модели искусственного интеллекта могут изучать сотни языков, и даже те, на которых говорит всего несколько человек. В 2022 году лаборатория Meta AI представила No Language Left Behind — модель искусственного интеллекта, способная осуществлять перевод между 200 разными языками с потрясающими результатами, вместе с которой предлагались набор данных для оценки и соответствующий открытый исходный код. Эти ресурсы с открытым исходным кодом могут помочь улучшить модели для перевода важных документов и сохранить малораспространенные языки.
Компания Meta предоставила открытый исходный код для CICERO, первого агента с искусственным интеллектом, который достиг уровня производительности человека в сложной стратегической игре на естественном языке "Дипломатия"*. Интеграция языковой модели с алгоритмами планирования и закрепления обучения дает CICERO возможность обдумывать и вырабатывать стратегию в отношении мотивации игроков, а затем использовать язык, чтобы заключать соглашения для достижения общих целей, формирования союзов и координации планов. В области искусственного интеллекта и открытого кода было много и других интересных событий, которые не освещены здесь. Другие истории, связанные с ИИ, можно найти в блоге Meta AI.
Узнайте о других улучшениях от Meta AI в 2022 году:
Демократизация доступа к крупномасштабным языковым моделям с помощью OPT-175B
Data2vec 2.0: высокоэффективное самоконтролируемое обучение для компьютерного зрения, речи и текста
Значительное повышение скорости обучения для модели Vision Transformer
* Все права на игру "Дипломатия" принадлежат компании Hasbro, Inc.
Помимо новостей о начале переноса Jest в фонд OpenJS Foundation, в августе была выпущена версия Jest 29. Во второй половине минувшего года проект получил более 40 000 звезд на GitHub. Еще одним важным событием в области веб- и мобильных приложений стал выпуск версии React 18, который был осуществлен при поддержке публичной рабочей группы React 18. Это включало в себя обновления для параллельного рендеринга, а также дополнительные функции и поддерживающие API. Ознакомьтесь с ресурсами для обновления React Docs Beta вместе с выпуском, включая документацию по Effects и краткое руководство.
В сентябре команды Meta React Technologies присоединились к основным разработчикам и хранителям библиотек для участия в саммите React Native Core Contributor Summit. На саммите обсуждались действующие и будущие экосистемы React Native и Metro, а участники выдвинули активные инициативы по улучшению экосистемы React Native.
Среди других проектов Meta с открытым исходным кодом для веб- и мобильных приложений можно выделить Js-flipper — пакет NPM, который предоставляет клиенту Flipper доступ к приложениям JavaScript и позволяет разработчикам легко создавать новые плагины Flipper или повторно использовать уже существующие. Другой проект, MemLab, обеспечивает тестирование памяти JavaScript, которое автоматизирует обнаружение утечек памяти.
Наконец, разработчики Meta поделились своими соображениями о том, как они используют технологии для веб- и мобильных приложений с открытым исходным кодом и что они делают для их развития. В одном из сообщений блога рассматривался отчет об ошибках Hermest и рассказывалось о том, как этот отчет побудил команду реагирования создать эксплойт, который позволял запускать версию 1993 года игры Doom в Hermes. В другом сообщении был представлен новый WebView на основе Chromium, который обеспечивает большее удобство для пользователей встроенного браузера Facebook для Android.
Ознакомьтесь с другими материалами серии "Developers: Mobile Edition":
Беседа с Притешем Нандгаонкаром
Беседа с Вадимсом Савйоловсом
Беседа с Александром Сергеевым
Беседа с Дериком Чжангом
Для поддержки своей инфраструктуры разработчики Meta используют инструменты с открытым исходным кодом, созданные в компании. Эти инструменты часто тестируются и улучшаются в повседневной работе в Meta, в результате чего появляются проекты с открытым исходным кодом, которые позволяют решать уникальные задачи, связанные с масштабированием и увеличением скорости.
В 2022 году команда Sapling представила новый Git-совместимый клиент системы управления версиями. Учитывая удобство использования и масштабируемость, Sapling представляет собой систему управления версиями, основной задачей которой является обеспечение доступа ко всему, что разработчики Meta усовершенствовали за более чем десять лет, чтобы стимулировать дальнейшую работу в этой области и продемонстрировать разработчикам перспективы для систем управления версиями. В августе был выпущен Docusaurus 2.0, высокопроизводительный генератор статических сайтов, который расширил использование React и поддержку веб-сайтов за рамками характеристик, изложенных в документации.
Дополнительные обновления для проектов включали новый детектор взаимных блокировок для Android, добавление функции быстрого импорта в Cinder и предварительную версию редактора OpenStreetMap следующего поколения RapiD 2.0. Другой проект, Hermit, представил практическую детерминированную операционную систему, которая позволяет разработчикам решать такие проблемы, как ненадежные тесты, и контролировать неявные входные операции, например планирование потоков, генерирование случайных чисел и многие другие.
В одной более обширной публикации рассказывалось о том, как инструменты для разработчиков Meta работают вместе как часть рабочего процесса разработчика, причем многие из них имеют открытый исходный код. Это включало в себя такие проекты, как система сборки Buck, SuperConsole, EdenFS (файловая система, тесно интегрированная с Sapling), фреймворк тестирования Jest и другие инструменты.
В августе 2022 года было объявлено о выпуске Velox, библиотеки C++ с открытым исходным кодом. Velox — это новый этап в области снижения энергопотребления и повышения производительности для систем обработки данных. Библиотека использует собственный режим выполнения и интегрируется со многими инструментами Meta в виде унифицированного уровня механизма выполнения.
Velox позволяет значительно уменьшить обслуживание кода и серьезно увеличить производительность — от 2-х до 10-ти раз, в зависимости от выполняемых задач. Информацию о все более активном распространении библиотеки Velox и ее принципиально новых способах реструктуризации процессов, с помощью которых механизмы больших данных и базы данных выполняют запросы к данным, можно найти в документе "Velox: Meta’s Unified Execution Engine", опубликованном на конференции VLDB 2022.
Только за последний год для проекта с открытым исходным кодом Presto на GitHub был опубликован 21 выпуск, он получил почти 2000 новых звезд, приобрел 600 новых форков и привлек 152 новых участника. Фонд Presto Foundation провел свое первое мероприятие с личным присутствием, PrestoCon, в Музее компьютерной истории в Маунтин-Вью, Калифорния, на котором Тим Михан выступил с программным докладом в качестве председателя технического подкомитета фонда, а Филип Белл рассказал о направлении развития проекта Presto на предстоящий год.
В декабре команда RocksDB возобновила проведение ежегодной встречи в штаб-квартире Meta в Менло-Парке, собрав разработчиков Meta и внешних сотрудников для обсуждения вариантов использования, новых инновационных разработок и идей для развития проекта.
Безопасность и оборудование чрезвычайно важны для работы разработчиков. От инструментов отладки до сетевого оборудования, источники c открытым исходным кодом Meta могут обеспечить отказоустойчивость, безопасность и надежность систем и самого кода.
Ранее в прошлом году один из участников рассказал о работе над Pysa, инструментом статического анализа Python в рамках проекта Pyre-check. Его пример наглядно показывает, как создание здоровых сообществ, работающих с открытым исходным кодом, может самым прямым образом повлиять на успех таких проектов, как Pysa, что в данном случае повысит безопасность кода.
В том, что касается оборудования, во всех сетях и центрах обработки данных Meta был внедрен протокол точного времени. Эта технология обеспечивает новый уровень достоверности и точности синхронизации часов в распределенных системах. В рамках проекта Open Compute Project как оборудование, так и программное обеспечение, предназначенное для поддержки этого протокола, было предоставлено с открытым исходным кодом для стимулирования распространения в отрасли.
В 2022 году компания Meta продолжила работу с открытым исходным кодом в таких продуктах, как WhatsApp и Messenger. Code Verify, открытый код которого был опубликован в марте, представляет собой расширение для браузера, которое позволяет разработчикам обеспечить защиту целостности кода в WhatsApp Web и Messenger путем визуального отображения информации о том, не был ли код на веб-странице модифицирован или изменен.
В этой публикации освещены лишь некоторые из более чем 1000 проектов с открытым исходным кодом Meta и обновлений для них, реализованных в 2022 году. Чтобы узнать больше об этих проектах с открытым исходным кодом, посетите веб-сайт Meta Open Source и следите за нами на Facebook, в Instagram, Twitter и LinkedIn. Особая благодарность сообществу участников, пользователей, организаций и партнеров, которые сотрудничают с компанией Meta в проектах с открытым исходным кодом.
В Meta мы считаем, что открытый исходный код ускоряет темпы внедрения инновационных разработок во всем в мире. Делясь своим кодом, своим стеком и даже своими проектами оборудования, мы стремимся развивать отрасль, предоставляя другим компаниям и частным лицам возможность использовать наши решения для более быстрого масштабирования и создания высокоэффективных продуктов.
Эта публикация была подготовлена в сотрудничестве с девелопер-адвокатами Meta Дмитрием Винником, Сураджем Субраманианом и Кэми Уильямс.