Компания NickWare Group занимается разработкой программного обеспечения и научными исследованиями во множестве различных областей.
Данный веб-сайт использует файлы cookie для повышения удобства работы с ним. Используя данный сайт, Вы соглашаетесь на использование файлов cookie. Для получения дополнительной информации, пожалуйста, посетите нашу страницу политики конфиденциальности.

Закрыть
Управление учётной записью
Выберите язык

Блог NickWare Group

Interference NDK: манифест к обновлению 2.0

В конце прошлого года состоялся релиз Interference NDK версии 2.0. Этот релиз важен по нескольким причинам. Во-первых, он содержит в себе большое количество изменений, улучшений и доработок по сравнению с предыдущей версией, во-вторых — цель проекта стала более сформированной и целостной. Проект обзавёлся приставкой NDK (Neural Development Kit), это означает, что он теперь включает в себя не только саму библиотеку, но и другие инструменты, позволяющие вывести разработку и отладку нейронных сетей модели Interference на новый уровень.

Библиотека Interference

Библиотека Interference является инструментом для обучения и применения (инференса) нейронных сетей модели Interference (интерференционная модель). Наше видение того, какими характеристиками должны обладать нейросетевые технологии, постепенно формируется в некий стандарт, который может быть применим для современных и будущих нейросетевых систем. В рамках проекта Interference мы стремимся реализовать такие характеристики:

  • Высокая производительность. Библиотека написана на C++, не имеет внешних зависимостей и рассчитана на применение в том числе во встраиваемых системах. Она поддерживает различные процессорные архитектуры и технологии распараллеливания вычислений. В версии 2.0 появилась гибкая система вычислительных бэкендов (compute backend), позволяющих переносить вычислительную нагрузку на любые специализированные устройства (графические процессоры, FPGA, различные сопроцессоры и др.). Сейчас «из коробки», помимо стандартного однопоточного режима, доступен режим многопоточной обработки на CPU и поддержка стандарта OpenCL. Для добавления поддержки дополнительного вычислительного устройства не обязательно адаптировать под него весь код библиотеки, достаточно реализовать только то, что относится к математическому аппарату.
  • Нейродинамичность. Мы убеждены, что одним из важнейших элементов, без которого не смогут полноценно существовать и развиваться будущие системы, использующие технологии ИИ, это возможность этих систем динамически изменять свою структуру и дообучаться в процессе работы. Здесь имеется в виду не распространённая «донастройка» модели, и именно обучение на совершенно новых данных, причём без переобучения всей модели заново. Только это сможет гарантировать истинную адаптивность системы, позволяя учиться решать задачи, которые она распознаёт впервые. Таким образом, в общем случае, вопреки устоявшимся парадигмам, мы не разделяем процессы обучения и инференса, они могут происходить итеративно на одном и том же устройстве. В новой версии Interference уделено особое внимание нейродинамике, добавлены новые методы, позволяющие создавать (производить репликацию), связывать и обучать отдельные нейроны или группы нейронов непосредственно в процессе работы модели.
  • Предсказуемость, объяснимость и проверяемость результатов. Одной из серьёзнейших проблем современных нейросетевых систем является сложность анализа процесса их работы. Это приводит к тому, что оказывается трудно или даже невозможно отследить цепочку выводов при принятии системой того или иного решения, а это, в свою очередь, делает невозможным подтверждение корректности результата, а также затрудняет отладку. Большинство нейросетевых моделей работает по принципу чёрного ящика. Модель Interference решает и эту проблему, так как у каждого компонента сети есть осмысленная и чётко заданная роль. В новой версии библиотеки уделено большое внимание возможностям отладки нейросетевых структур. Это большой шаг в сторону Explainable AI — парадигмы, нацеленной на повышение объяснимости (интерпретируемости) процессов, происходящих внутри нейросети, что позволяет корректно оценить результаты её работы.
  • Осмысленность обучения. Обычно, для того, чтобы нейросетевая система начала функционировать, её сначала необходимо обучить на достаточно большом объёме подготовленных данных (зависит от задачи). Нам кажется такой подход неэффективным. Мы делаем выбор в пользу более точечного подхода к обучению. Благодаря своим характеристикам, модель Interference позволяет выполнять распознавание после обучения даже на небольшом количестве данных. Например, чтобы начать отличать картинки друг от друга, достаточно предъявить нейросети хотя бы одну картинку на класс распознавания. Это значительно снижает стоимость и время обучения нейросетей модели Interference, а также повышает гибкость их работы, что делает их функционирование более схожим с тем, как работает человеческий мозг.
  • Универсальность. Поддержка обработки различных типов данных необходима для построения мультимодальных систем. В модели Interference не имеет значения, какие данные будут обработаны — текст, изображения, аудио или различные мета-данные. Элементы нейронной сети могут быть гибко настроены под любой тип данных. 
  • Профилирование. В обновлении 2.0 были добавлены инструменты профилирования нейронных сетей. Они помогут производить отладку и оценивать её производительность на конечном устройстве. Это особенно важно при построении таких систем для функционирования на не очень производительных платформах. 
  • Открытость. Библиотека Interference, как и прежде, распространяется свободно, а её исходный код открыт (под лицензией MIT). Мы приветствуем участие в проекте единомышленников и специалистов со всего мира с целью проведения исследований и улучшения модели.

Interference Architect

Помимо изменений в самой библиотеке, с обновлением 2.0 в Interference NDK  стал доступен инструмент для визуальной разработки и отладки нейронных сетей — Interference Architect. Он позволяет создавать нейронные сети Interference под конкретные задачи в графическом режиме. Удобный редактор позволяет с нуля создать свою архитектуру на базе модели Interference, а также настроить её параметры.

 

 

Встроенный отладчик Interlink позволяет выполнять удалённую отладку нейросети, которая работает на конечном устройстве или локально. Легко интегрировать синхронизацию состояния нейросети в код runtime-приложения и следить за её работой прямо в интерфейсе Interfernce Architect. Это значительно упрощает проведение исследований и тестирование созданной архитектуры.

Также стал доступен импорт и экспорт нейросетевых архитектур в формате JSON. Спроектированную нейросеть после экспорта в JSON файл можно открыть с помощью специальных методов библиотеки в своём коде, а затем использовать и модифицировать.

Interference Architect для коммерческого применения распространяется по подписке, а для академического использования и исследователей доступен совершенно бесплатно.

Примеры использования и практическое применение

В официальном репозитории теперь также доступны примеры решения различных практических задач в исходных кодах: пример системы распознавания изображений, пример мультимодальной обработки (текст+изображения), пример построения языковой модели (NLP). Постепенно этот список будет дополняться. Мы приветствуем применение Interference для решения новых практических задач.

 

 

Получить Interference NDK можно на странице проекта: nickware.group/products/indk/. Следите за новостями!


Обновление Essential O до версии 2: 8 основных нововведений

30 сентября 2022 года Essential O получил масштабное обновление до версии 2. Оно привносит существенные изменения, которые касаются функциональных возможностей, внешнего вида, исправления ошибок, а также логики работы приложения в целом. Рассказываем об основных нововведениях.

Прочитать больше


NickWare Essential O: оценки пользователей и прессы

На странице NickWare Essential O появился раздел с оценками. В нём представлены оценки пользователей и различных интернет-порталов.

Программа была высоко оценена пользователями. В основном программу хвалят за уникальный функционал и повышение производительности ПК после обслуживания системы, а для кого-то она стала незаменимым инструментом в повседневной жизни. Портал softcatalog.info в своём обзоре отметил преимущества программы: высокую эффективность, обширный набор функциональных возможностей, а также лёгкий и понятный интерфейс.

Ознакомиться с оценками можно на странице продукта.


NickWare Essential O доступен для загрузки

NickWare Essential O — это программный комплекс для полного обслуживания устройств под управлением операционной системы Windows. Он включает в себя средства для интеллектуальной настройки и оптимизации параметров системы, очистки жёсткого диска и реестра от мусора, очистки данных интернет-активности, анализа состояния оборудования, и многое другое.

Инновационные технологии удалённого мониторинга и обслуживания устройств позволят оптимизировать все Ваши устройства и контролировать их состояние в один клик, а технология адаптивного автоматического обслуживания подстроится под Ваш стиль работы и будет поддерживать Ваши устройства в наилучшем состоянии не мешая Вашей работе!

Узнайте больше на странице продукта: nickware.group/products/nweo


Interference 1.1.0: новые возможности

26-го июля состоялся релиз новой версии библиотеки Interference. Библиотека реализует интерференционную модель нейронной сети, написана на C++ и является проектом с открытым исходным кодом (лицензия MIT). В версии 1.1.0 она претерпела огромное количество изменений, об основных из которых мы и расскажем.

Прочитать больше


Новые исследования в области машинного обучения

Стали доступные новые работы, содержащие исследования в области машинного обучения. Преимущества интерференционной модели искусственной нейронной сети делают её отличным инструментом для решения практических задач, таких как, например, распознавание образов. Узнайте о наших исследованиях больше!

Узнать подробнее