Yandex tune: Мои места — Настройка Яндекса

Содержание

P-tuning для YaLM / Хабр

Мы уже рассказывали о том, как применили семейство генеративных нейросетей YaLM для подготовки ответов в Поиске, Алисе или даже в Балабобе. Главная особенность наших моделей — метод few-shot learning, который позволяет без дополнительного обучения решать большинство задач в области обработки естественного языка. Достаточно лишь подготовить подводку на человеческом языке — и модель сгенерирует текст. Но что, если это не самый оптимальный путь?

Сегодня я расскажу читателям Хабра про апгрейд этого метода под названием P-tuning. Вы узнаете про недостатки оригинального метода few-shot и преимущества нового подхода. Покажу, где он уже применяется на примере покемонов. Добро пожаловать под кат.

Какую задачу мы решаем?

В прошлой статье мы приводили пример задачи, который будет отчасти релевантен и здесь. Есть текстовая подводка, например:

ТНТ — российский федеральный телеканал.
По данным на 2019 год занимает седьмое место по популярности среди телеканалов России. Целевая аудитория телеканала — телезрители от 14 до 44 лет, ядро составляет молодёжь — зрители 18–30 лет.

И есть краткое продолжение:

Короче, ТНТ — это телеканал.

Если передать во few-shot-модель несколько таких пар (подводка + продолжение) про разные сущности, а затем загрузить, скажем, описание сайта Booking.com и попросить модель составить продолжение («Короче, Booking.com — это…»), она ответит: «…сайт бронирования отелей». Так работает few-shot — учится составлять тексты по заданному нами принципу.

А что не так с few-shot?

Использование few-shot обычно означает, что для решения задачи имеется совсем немного вручную размеченных данных. Также нет готового решения, с которым можно сравниться, и часто недоступны метрики оценки качества. А даже если они есть, то данных настолько мало, что сигнал получается очень шумным.

Есть и другая проблема: на практике мы столкнулись с множеством артефактов в результатах, которые выдаёт модель. Она может начать придумывать куски информации, которые не имеют никакого отношения к изначальному тексту (но содержатся в значительной части примеров из подводки).

Например, такую подводку…

Туристам доступно 2 маршрута: пешая экскурсия с гидом по подземным тоннелям базы и экскурсия на речном трамвайчике по основному тоннелю. Подземная база подводных лодок находится в…

…модель продолжает так:

…в центре города, на глубине 10 метров. Сверху база не имеет отличительных знаков, и лишь на поверхности, рядом с базой, находится памятник, посвященный подводникам.

Или другой пример работы few-shot — здесь текст продолжает бесконтрольно генерироваться, возникает множество повторов, противоречащие друг другу фразы и прочая бессмыслица:

От перечисленных артефактов можно избавиться, вручную меняя подводку. Причём при, казалось бы, небольшом изменении тексты на выходе могут преображаться довольно сильно: становиться как лучше, так и хуже. Даже наличие в подводке лишнего перевода строки или неправильного форматирования влияет на ответ и может сильно ухудшить его качество. Поэтому инженерам приходится аккуратно составлять текст подводки, пробовать, перезапускать, глазами оценивать результаты — именно это я называю процессом ручного подбора.

Поэтому прототипирование с few-shot оказывается довольно трудоёмким и долгим. А самое главное, что этот процесс не даёт гарантии, что мы сможем найти подводку, которая подтолкнёт модель к наиболее качественному решению. А даже если найдём, то почти наверняка составленный нами текст будет не самым оптимальным. С перечисленными проблемами хочется бороться.

Как работает P-tuning?

Задача остаётся прежней: на базе подводки составлять новый текст, пользуясь знаниями об устройстве языка и мира, заложенными в модель.

Как известно, системам машинного обучения гораздо проще работать не с исходными данными — в нашем случае с текстами, — а с их векторными представлениями, эмбеддингами. И в модель few-shot, и в P-tuning, о котором я сейчас расскажу, и в любые другие модели мы загружаем наборы векторов, получившиеся из текстов. С этими векторами производятся некоторые манипуляции, после чего мы превращаем их обратно в итоговый текст. Нам не обойтись без перехода на этот более глубокий уровень.

Выше я сказал, что подводка сильно влияет на результат и её приходится «дотюнивать» руками. Но, повторюсь, подводка всё равно затем превращается в векторы, и модель работает уже с ними. Что если «дотюнивать» сразу их — и поручить это самой модели?

Именно так и работает P-tuning. Набор эмбеддингов, получившихся из подводки, априори не является самым удачным. И модель пытается отыскать более оптимальный набор, меняя эти эмбеддинги так, чтобы итоговая задача решалась всё лучше. Поскольку мы оптимизируем не тексты, а числа, то это можно делать классическим методом уменьшения ошибки — градиентным спуском. Простое объяснение, как работает градиентный спуск, есть, например, здесь.

То есть модель сама подбирает себе наиболее оптимальную подводку — потому что мы перешли на понятный ей уровень абстракции. Если совсем грубо — «заговорили» на её языке (языке эмбеддингов, а не текстов), объясняя, какого результата мы от неё ждём.

Что из себя представляет оптимальная подводка

Если вам в принципе знаком этот механизм превращения текстов в векторы, то вы помните, что близкие мы смыслу тексты переводятся в близкие математически векторы.

И возникает вопрос: поскольку векторы исходной подводки близки к оптимальным векторам, найденным с помощью P-tuning, то можем ли мы взять последние и из чистого любопытства посмотреть, какой текстовой подводке они соответствуют? Модели это не нужно: она уже получила то представление, с которым ей удобнее работать, ей незачем возвращаться к тексту. Но нам было бы интересно сравнить исходную подводку и «оптимизированную», попытаться понять по смыслу, какие корректировки внесла модель.

К сожалению, на практике выясняется, что такая «оптимальная» подводка часто содержит фрагменты, некорректные с точки зрения нашего языка. Когда модель меняет данные так, чтобы лучше их понимать, для нас эти изменения бессмысленны — пока что наш язык в этом плане не соответствует языку машинного обучения. Возможно, когда-нибудь появится идеальная модель, в которой такое соответствие выполнится. Было бы красиво.


Для интересующихся: как всё устроено внутри


Авторы оригинальной статьи предложили следующий подход:

  • Давайте заменим эмбеддинги токенов подводки (на рисунке выше), которые мы во few-shot подбирали руками, на обучаемые векторы (которые будем предсказывать некоторой моделью) и будем учить только их, заморозив веса основной языковой модели.
  • Моделировать эмбеддинги можно несколькими способами, авторы предложили использовать для этого LSTM и MLP:
  • Наши эксперименты показывают, что такая модель хорошо работает на сотнях (и больше) примеров в обучении.
  • Если же примеров только десятки, и больше получить нельзя, то стоит моделировать их просто новым Embedding-слоем, без LSTM и MLP, но инициализировать веса этого слоя весами эмбеддингов pretrained языковой модели, которые соответствуют токенам из вашей подводки, составленной руками заранее (впервые предложено в этой статье).
  • Получается своего рода adversarial attack на часть входного текста в NLP-модель.

Мы проверили, что P-tuning отлично работает в связке с представителями семейства языковых моделей, но ничто не мешает использовать его и c другими популярными архитектурами, например с BERT или T5.

Для одного запуска P-tuning’a требуется не очень много вычислительных ресурсов (об этом ниже). А значит, имея в распоряжении GPU-кластер большого размера, становится возможным перебирать гиперпараметры. Да-да, вам это не снится, настал день, когда можно недорого перебрать гиперпараметры NLP-нейросети.

Такая особенность делает метод ещё более применимым в задачах, близких к продакшену, где нужны максимальные показатели качества.

Преимущества P-tuning

Устройство P-tuning’a наделяет его следующими свойствами:

  1. P-tuning избавляет инженера от перебора подводок и всегда обеспечивает более высокое качество, чем few-shot (способен найти почти любую подводку, которая может быть создана руками).
  2. Модель чаще всего не производит артефактов, присущих few-shot.
  3. Так как параметры модели не обучаются, то для применения метода не требуется больших вычислительных ресурсов (вместо GPU-дней в finetuning’е получаем GPU-часы).
  4. Модель, которая ищет более оптимальную подводку, имеет относительно
    небольшое число параметров
    . Поэтому для её обучения не нужны огромные массивы данных — достаточно сотен или тысяч примеров, в то время как для finetuning-a нужны десятки тысяч.
  5. Так как P-tuning по своей природе влияет только на данные, поступающие на вход, то для одной и той же pretrained языковой модели можно «подключать» разные P-tuning-модели: весят они всего лишь килобайты. Это позволяет создать runtime API, в котором зафиксирована языковая модель, а пользователи сервиса (в данном случае разработчики) посылают запросы в виде пар «модель + текст». Благодаря API можно быстро создавать прототипы для новых задач.

Как мы готовили технологию

В первую очередь мы собрали больше десяти датасетов для замеров качества моделей. Эти датасеты приближены к данным, на основе которых мы решаем задачи для пользователей: помогаем Алисе поддерживать интересный диалог, подсвечиваем важное в фактовом ответе на поиске, выявляем некачественный контент и так далее. Часть данных выгрузили из анонимизированных логов сервисов, часть собрали в Толоке.

Вот на каких задачах мы проверяли работоспособность технологии:

  • Суммаризация новостей:

    Кстати, вот рассказ, как сейчас работает суммаризация новостей в продакшене, — там же вы можете почитать о том, почему решение на основе YaLM не используется.

  • Поиск короткого ответа в тексте (по столбцу слева можно оценить результат):


    Кликабельно

  • Генерация вопросов к тексту (такие вопросы могут стать, например, заголовками в карточке объектного ответа на поиске):


    Кликабельно

Чтобы P-tuning использовался в Яндексе повсеместно (а он применим во всех задачах классификации и генерации текстов), нам нужно было предложить хороший дефолтный конфиг обучения. Мы подобрали такие гиперпараметры, от которых можно оттолкнуться при решении новых задач. Они далеко не всегда дают оптимальное качество в отдельно взятой задаче, но позволяют сразу получить многообещающий результат, который потом не так уж сложно «дотюнить» до требуемого. Это снизило порог входа для других разработчиков.

Применение в поиске

Мы считаем, что главная задача этой технологии — занять нишу там, где требуется более высокое качества текста, чем способен предложить few-shot, но не всегда хватает данных для тяжеловесного finetuning’а. Ниже покажу, как P-tuning уже работает в поиске Яндекса на примере редких покемонов.

К примеру, если поискать в поиске [Сновер], то можно увидеть блок с основной информацией про этого покемона. Если бы это был популярный покемон, то его описание подхватилось бы из «Википедии», к которой достаточно высокое доверие. Но для малоизвестных покемонов каждый элемент этого блока извлечён из неструктурированного текста на произвольном сайте с помощью нейросетей YaLM. И в этом случае нам важно убедиться, что контент в блоке качественный.

Именно с проверкой качества и помогает P-tuning. Выше мы рассматривали его как инструмент генерации текста по известной подводке, но перейти к оценке качества несложно. Например, в подводке может содержаться такой текст:

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

Это нормальное описание?

Если модель с большей вероятностью продолжает такой текст словом «Да», чем словом «Нет», то можно считать описание нормальным. При этом текст оценивается с нескольких сторон. Во-первых, мы так ловим некачественный контент — тексты, в которых есть грамматические ошибки, неполные предложения и т. п. Во-вторых, проверяем факты, которые должна браться с сайтов, а не додумываться нейросетью.

Добавление нового аспекта качества в пайплайн

Это ещё одна из возможностей, которые даёт P-tuning. Допустим, у нас есть уже работающий сложный пайплайн, решающий какую-нибудь задачу приемлемо. Нам хочется его улучшить, мы придумываем дополнительный признак и хотим добавить его в пайплайн. Но, к сожалению, мы не можем просто так это сделать, потому что новый признак нельзя получить из уже имеющихся, и процесс получения новой разметки на этот признак пока не налажен. А узнать качество нового пайплайна хочется уже сейчас. Тогда мы можем использовать P-tuning в конфигурации для крошечных датасетов!

Даже в самой сложной задаче (если говорить про тексты) почти наверняка можно собрать несколько сотен примеров вручную. Затем обучаем P-tuning и получаем примерное значение признака для всего объёма данных. Это позволит нам оценить качество нового пайплайна и уже потом решить, нужна ли нам более массов разметка на значения этого признака.

Возьмём, например, задачу поиска ответов в интернете. Предположим, после анализа плохих ответов стало видно: многие проблемные ответы дают лишь часть необходимой информации. По запросу «Какие бывают собаки?» ответ «таксы» релевантен, но реальную потребность не удовлетворяет.

Тогда давайте из двух релевантных ответов выбирать более информативный. Для этого достаточно разметить вручную всего триста примеров, чтобы обучить P-tuning с неплохим качеством.

Такая модель уже позволяет определять информативные ответы с точностью 78%.

RussianSuperGLUE

Мы опубликовали в бенчмарке Russian SuperGLUE результаты нашей модели на 3 миллиарда параметров, усиленной за счёт P-tuning. Она оказалась на третьем месте, обогнав все single-model-методы, а также более дорогостоящие в плане времени и ресурсов finetuning-модели с ощутимым отрывом в 2,5 процентных пункта. Отдельно отмечу, что мы обучаем только 40 тысяч параметров — это в тысячи раз меньше классического finetuning’a.


Заключение

P-tuning позволяет относительно дёшево в смысле времени и вычислительных ресурсов применять огромные языковые модели в боевых продуктах. Благодаря этой технологии пользователи теперь будут видеть ещё более качественные тексты в Поиске и слышать их от Алисы. Я и вся команда YaLM надеемся, что эта статья мотивирует русскоязычное DL community посвятить время исследованию и использованию больших моделей в NLP.

tune.yandex.ru… Местоположение — Настройка Яндекса. Реформал.

Основные сведения:

Рейтинг:

Адрес:

http://tune.yandex.ru

О сайте:

Анализ данных tune. yandex.ru показал, что у этого домена отсутствует рейтинг Alexa и посещаемость данного сайта неизвестна. Лидирующую позицию по доле трафика занимает Россия (80,7%), а владельцем домена является YANDEX, LLC..

Заголовок:

Местоположение — Настройка Яндекса

Мета-описание:

Найти меня Определять город автоматически В поездках Яндекс будет определять город, в котором вы нах…

Рейтинг Alexa

Нет данных

Посетителей в день

Нет данных

Просмотров в день

Нет данных

Статус:

Онлайн

Дата последней проверки:

Наиболее популярные страницы домена:

  • Местоположение — Настройка Яндекса

    Найти меня Определять город автоматически В поездках Яндекс будет определять город, в котором вы находитесь. Так вы увидите актуальную погоду и пробки для этого региона. Сохранить

  • Местоположение — Настройка Яндекса

    Найти меня Определять город автоматически В поездках Яндекс будет определять город, в котором вы находитесь. Так вы увидите актуальную погоду и пробки для этого региона.

Другие домены этого хостинг-провайдера (Yandex LLC):

mail.moon.ru

mail.goon.ru

rasp.yandex.by

solikamsk.rutaxi.ru

spb.rutaxi.ru

narod.yandex.ru

Географическое распределение аудитории для yandex.ru:

СтранаДоля посетителейРейтинг по стране
Россия80,7%2
Азербайджан2,7%10
Казахстан1,4%6
США1,0%407
Украина0,9%11
Показать больше

Информация о домене:

Возраст домена:

25 лет

Владелец:

YANDEX, LLC.

Регистратор:

RU-CENTER-RU

http://www.ripn.net

Другие домены, которые могут быть вам интересны:

erecruiterafrica.com

thetao.info

energizeboost.com

realclimategate.org

pbup.ru

GBDT-uncertainty/train_models.py на главной · yandex-research/GBDT-uncertainty · GitHub

система импорта
импорт json
из gbdt_uncertainty.data import load_regression_dataset
из gbdt_uncertainty.training импорта tune_parameters_regression, generate_ensemble_regression, tuning_parameters_classification, generate_ensemble_classification, generate_rf_ensemble_regression, generate_rf_ensemble_classification
импорт ОС
режим = sys. argv[1]
по умолчанию create_dir (имя):
каталог = os.path.dirname(имя)
, если не os.path.exists(имя):
ос.македирс(имя)
, если режим == «регрессия»:
попытка:
настройка = int(sys.argv[2])
кроме:
print(«Требуется параметр настройки: 1, если требуется настройка»)
выход(0)
наборов данных = [«bostonHousing», «бетон», «энергия», «kin8nm»,
«военно-морская силовая установка», «силовая установка», «белковая третичная структура»,
«вино-качество-красное», «яхта», «YearPredictionMSD»]
алгоритмов = [‘sgb-fixed’, ‘sgb-fixed’]
# для -fixed мы не настраиваем частоту дискретизации и используем 0. 5 для sbf и 1. для sglb
для имени в наборах данных:
печать («набор данных =», имя)
если настройка == 1:
create_dir(«результаты/параметры»)
# Настройка гиперпараметров
print(«настройка гиперпараметров…»)
X, y, index_train, index_test, n_splits = load_regression_dataset (имя)
для алг в алгоритмах:
печать (алг. )
params = tune_parameters_regression(X, y, index_train,
index_test, n_splits, alg=alg)
с open(«results/params/» + name + «_» + alg + ‘.json’, ‘w’) as fp:
json.dump (параметры, fp)
# Тренировочные модели
print(«Обучающие модели…»)
create_dir(«результаты/модели»)
для алг в алгоритмах:
печать (алг. )
X, y, index_train, index_test, n_splits = load_regression_dataset (имя)
с open(«results/params/» + name + «_» + alg + ‘.json’, ‘r’) как fp:
параметров = json.load(fp)
generate_ensemble_regression (имя, X, y, index_train, index_test,
n_splits, params, alg=alg)
печать()
если режим == «классификация»:
попытка:
настройка = int(sys. argv[2])
кроме:
print(«Требуется параметр настройки: 1, если требуется настройка»)
выход(0)
настройка = int(sys.argv[2])
наборов данных = [«взрослый», «амазонка», «щелчок», «интернет»,
«аппетит», «отток», «допродажа», «пинок»]
алгоритмы = [‘sgb-fixed’, ‘sglb-fixed’] # выбор из [‘sgb-fixed’, ‘sglb-fixed’, ‘sgb’, ‘sglb’]
# для -fixed мы не настраиваем частоту дискретизации и используем 0. 5 для sbf и 1. для sglb
для имени в наборах данных:
печать («набор данных =», имя)
если настройка == 1:
create_dir(«результаты/параметры»)
# Настройка гиперпараметров
print(«настройка гиперпараметров…»)
для алг в алгоритмах:
печать (алг. )
params = setup_parameters_classification(name, alg=alg)
с open(«results/params/» + name + «_» + alg + ‘.json’, ‘w’) as fp:
json.dump (параметры, fp)
# Обучение всех моделей
print(«Обучающие модели…»)
create_dir(«результаты/модели»)
для алг в алгоритмах:
печать (алг.)
с open(«results/params/» + name + «_» + alg + ‘. json’, ‘r’) как fp:
параметров = json.load(fp)
generate_ensemble_classification (имя, параметры, алгоритм = алгоритм)
печать()
, если режим == «regression_rf»:
наборов данных = [«bostonHousing», «бетон», «энергия», «kin8nm»,
«военно-морская силовая установка», «энергетическая установка», «белковая третичная структура»,
«вино-качество-красное», «яхта», «YearPredictionMSD»]
create_dir(«результаты/модели»)
для имени в наборах данных:
печать («набор данных =», имя)
# Обучение всех моделей
print(«Обучающие модели. ..»)
X, y, index_train, index_test, n_splits = load_regression_dataset (имя)
generate_rf_ensemble_regression (имя, X, y, index_train, index_test, n_splits)
если режим == «классификация_рф»:
наборов данных = [«взрослый», «амазонка», «щелчок», «интернет»,
«аппетит», «отток», «допродажа», «пинок»]
create_dir(«результаты/модели»)
для имени в наборах данных:
печать («набор данных =», имя)
# Обучение всех моделей
print(«Обучающие модели. ..»)
generate_rf_ensemble_classification (имя)

Обеспечение искусственного интеллекта с помощью человеческого понимания

Ориентированная на данные среда для поддержки быстрой и масштабируемой разработки ИИ
с помощью человеческого понимания.

Поговорите с экспертом

Сделайте человеческое понимание


основой вашего ИИ

  • Ускорьте эксперименты
    с помощью данных, помеченных человеком
    и быстрой обработки данных

  • Масштабируйте свои проекты
    с помощью высокопроизводительных инструментов 90 652 и неограниченная сила толпы

  • Автонастройка моделей ML
    и монитор в производстве
    с обратной связью от человека

  • Интеграция
    со сквозными
    конвейерами машинного обучения

Покрытие всего


Жизненный цикл машинного обучения

Помеченные человеком наземные данные для обучения моделей AI/ML

+

Модели машинного обучения

Модели корпоративного уровня, настроенные для решения проблем в конкретных областях

  • Сбор данных

  • Данные обработка

    Хранение, обработка и очистка данных

  • Аннотации данных

  • Анализ данных

  • Обучение моделированию, развертывание,

    и оценка

  • Мониторинг моделей

Наши продукты и библиотеки с открытым исходным кодом

Платформа для маркировки и сбора данных 9071 0

Наша платформа специально создана для масштабирования и ускорения, чтобы удовлетворить любые требования к маркировке данных. .

  • Поддержка любого типа данных и задач

  • Доступ по требованию к нашей разнообразной глобальной аудитории

  • Гибкие инструменты аннотаций: используйте наши шаблоны или создавайте свои собственные с помощью редакторов интерфейса с кодом и без кода

Изучите возможности платформы

Adaptive AutoML

New

Наши модели готовы к использованию сразу после установки и адаптируются к вашим данным.

  • Предварительное обучение на больших наборах данных с проверкой вручную для обеспечения высокой точности

  • Автоматический мониторинг производительности с контролем человека для обнаружения дрейфа данных

  • Доступен через API с малой задержкой для прогнозов модели

    90 669

Пробные модели

Платформа машинного обучения

Новый

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

  • Управление версиями моделей и наборов данных

  • Визуализации, отчеты и сравнения

  • Python API для доступа из любой среды

Исследовать Платформа машинного обучения

Мощный открытый API

Наши библиотеки с открытым исходным кодом для Python и Java предоставляет API-доступ ко всем функциям платформы маркировки данных Толока.

  • Толока-Кит — Python-библиотека для работы с Толокой через API. Он позволяет создавать масштабируемые и полностью автоматизированные конвейеры машинного обучения с участием человека и интегрировать их в свои процессы.

  • Толока-Java-SDK позволяет работать с функциональностью API с использованием языков на основе JVM.

Инструменты для размеченных данных

Crowd-Kit — это библиотека Python с открытым исходным кодом, упрощающая работу с краудсорсинговыми данными.

  • Методы агрегирования для категорийных, парных, текстовых и сегментационных ответов

  • Метрики для оценки неопределенности, непротиворечивости и согласованности с агрегированными данными

  • Загрузчики для популярных краудсорсинговых наборов данных

Управление конвейером

платформы управления рабочими процессами с использованием наших библиотек Python с открытым исходным кодом.

Создавайте автоматизированные рабочие процессы обработки данных, используя готовые задачи для частых действий.

Интеграция Apache AirflowИнтеграция Prefect

Разработано для реального ИИ

Толока поддерживает сообщество специалистов по обработке и анализу данных, инженеров машинного обучения, исследователей,
и новаторов в области искусственного интеллекта по всему миру для ускорения машинного обучения с помощью более эффективных процессов обработки данных

Почему Толока

  • ML технологии
    • Единая платформа для управления маркировкой человеком и машинным обучением

    • Готовая масштабируемая инфраструктура для обучения и получения логических выводов в реальном времени

    • Гибкие базовые модели, предварительно обученные на больших наборах данных

    • Автоматическое переобучение и мониторинг без дополнительной настройки

    Узнать больше
  • Разнообразие глобального сообщества
    • 100+ страны

    • 40+ языков

    • Более 200 тыс. активных толокеров в месяц

    • 800+ активных проектов в день

    • Непрерывная маркировка данных 24/7

    Узнать больше
  • Технологии краудсорсинга
    • Расширенный контроль качества и адаптивный отбор толпы

    • Умные механизмы сопоставления

    • 10-летний опыт работы в отрасли и проверенная методология

    • Библиотека Python с открытым исходным кодом для методов агрегирования

    Узнать подробнее
  • Надежная безопасная инфраструктура
    • Конфиденциальность в первую очередь соответствует требованиям GDPR. Проверка защиты данных

    • Сертификат ISO 27001

    • Несколько вариантов хранения данных, облако Microsoft Azure

    • Автоматическое масштабирование для работы с любыми объемами

    • 906 51 API и библиотеки с открытым исходным кодом для полной интеграции

    Узнать больше

Больше, чем


Платформа

Мы стремимся формировать основу передового опыта с сообществом ИИ и помогать компаниям раскрывать возможности ИИ

  • Данные

  • Поддержка научных исследований

  • Поддержка ответственного ИИ в проектах с открытым исходным кодом

  • Обмен отраслевым опытом в сотрудничестве с ведущими университетами

  • Поддержка глобального сообщества специалистов по искусственному интеллекту

СМИ о нас

Просмотреть все

3 тенденции электронной коммерции, за которыми стоит следить в 2023 г.

Подробнее

Подробнее

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

Подробнее

IRCAI, поддерживаемая ЮНЕСКО, называет компании Northeast и UNAM Гражданские исследования ИИ — в совместная работа с Толокой — как Most Impactful

Читать дальше

Блог Толока

Ознакомьтесь с нашими статьями о технологиях, новостями о продуктах, примерами из практики и информацией о краудсорсинге

Просмотреть все

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *