Pull to refresh
8
0
Даниил Солопов @dan_sw

Middle of Fundamental Software Engineering

Send message

Яндекс разработал и выложил в опенсорс YaFSDP — инструмент для ускорения обучения LLM и сокращения расходов на GPU

Reading time12 min
Views19K

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

В этой статье мы расскажем о том, как можно организовать обучение больших языковых моделей на кластере и какие проблемы при этом возникают. Рассмотрим альтернативные методы ZeRo и FSDP, которые помогают организовать этот процесс. И объясним, чем YaFSDP отличается от них.

Читать далее
Total votes 89: ↑88 and ↓1+112
Comments0

Что такое векторизация текста в NLP и какая она бывает: One-hot encoding, Bag of words, TF-IDF, Word2Vec, BERT и другие

Level of difficultyMedium
Reading time7 min
Views3.7K

Привет, Хабр! Меня зовут Александр Троицкий, я автор канала AI для чайников, и в этой статье я расскажу про разные способы векторизации текстов.

Всем привет! Вдохновившись прикольной и понятной статьей на английском языке, и не найдя сходу чего-то похожего в русскоязычном сегменте интернета, решил написать о том, как обрабатывается текст перед тем, как на нем начинают применять разные модели ИИ. Эту статью я напишу нетехническим языком, потому что сам не технарь и не математик. Надеюсь, что она поможет узнать о NLP тем, кто не сталкивается с AI в продуктах на ежедневной основе.

О чем эта статья:

Читать далее
Total votes 6: ↑4 and ↓2+2
Comments0

Справочник по применению GPU в машинном обучении

Level of difficultyMedium
Reading time35 min
Views8K

Это перевод популярного лонгрида Тима Детмерса "Выбор графического процессора для глубокого обучения: мой опыт и советы".

Глубокое обучение (Deep learning, DL) - область с высокими вычислительными требованиями, и выбор графического процессора будет в корне определять ваши возможности в этой сфере. Какие характеристики важны при выборе нового GPU? Оперативная память GPU, ядра, тензорные ядра, кэш? Как сделать экономически эффективный выбор? Мы рассмотрим эти вопросы, заодно разберемся с распространенными заблуждениями, разберемся в характеристиках GPU, дадим советы, которые помогут вам сделать правильный выбор.

Читать далее
Total votes 21: ↑21 and ↓0+26
Comments2

Пять книг про NLP, с которых можно начать

Level of difficultyEasy
Reading time3 min
Views15K

Всем привет! Меня зовут Валентин Малых, я — руководитель направления NLP-исследований в MTS AI, вот уже 6 лет я читаю курс по NLP. Он проходит на платформе ODS, а также в нескольких университетах. Каждый раз при запуске курса студенты спрашивают меня про книги, которые можно почитать на тему обработки естественного языка. Поскольку я все время отвечаю одно и то же, появилась идея сделать пост про мой список книг, заодно описав их. 

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments7

[В закладки] Кунг-фу на клавиатуре. Искусство сочетать клавиши

Reading time17 min
Views47K

Сочетания клавиш для тех, кто хочет войти в IT и не только

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

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

В конце вы увидите, как все эти знания можно использовать при работе с самым популярным на данный момент текстовым редактором Visual Studio Code.

Читать далее
Total votes 22: ↑17 and ↓5+20
Comments38

Датацентрический и моделецентрический подходы в машинном обучении

Reading time12 min
Views5.4K
image

Код и данные — фундамент ИИ-системы. Оба эти компонента играют важную роль в разработке надёжной модели, но на каком из них следует сосредоточиться больше? В этой статье мы сравним методики, ставящие в центр данные, либо модель, и посмотрим, какая из них лучше; также мы поговорим о том, как внедрять датацентрическую инфраструктуру.
Читать дальше →
Total votes 2: ↑2 and ↓0+2
Comments1

Миниатюризация систем квантового распределения ключей с помощью фотонных интегральных схем, часть 2: Сценарии применения

Reading time4 min
Views879

В первой части статьи мы обсуждали вопрос о потенциале применения фотонных интегральных схем (ФИС) для миниатюризации систем квантового распределения ключей (КРК) с точки зрения оптических материалов. Прежде чем перейти к вопросу о конкретных реализациях, стоит остановиться на некоторых рассматриваемых сейчас экспертами сценариях применения этой технологии в квантовом интернете.

В конце 2023 года Росстандартом были утверждены первые четыре предварительных национальных стандарта в области квантовых коммуникаций, включая «Квантовые коммуникации. Термины и определения» и «Квантовый интернет вещей. Термины и определения». Согласно им:

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

«Квантовый интернет вещей — интернет вещей с использованием квантовых технологий».

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments0

3D ML. Часть 2: функции потерь в задачах 3D ML

Reading time22 min
Views11K


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


В этой заметке мы поговорим о том, какие функции ошибки (Loss functions) алгоритмов используются в 3D ML, какие из них можно использовать в качеств метрик качества (metrics), а какие — в качестве регуляризаторов (regularizers).

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments1

Как выбрать правильный сервер c подходящими для ваших нейросетей CPU/GPU

Level of difficultyEasy
Reading time5 min
Views3.9K

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

Эта статья рассказывает о наиболее важных компонентах, которые влияют на выбор сервера для искусственного интеллекта, — о центральном и графическом процессорах (CPU и GPU). Выбор подходящих процессоров и графических карт позволит запустить суперкомпьютерную платформу и значительно ускорить вычисления, связанные с искусственным интеллектом на выделенном или виртуальном (VPS) сервере.

Читать далее
Total votes 8: ↑5 and ↓3+5
Comments15

Векторные СУБД и другие инструменты для разработки ML-моделей

Level of difficultyMedium
Reading time6 min
Views4.3K

На фоне развития генеративных и больших языковых моделей набирают обороты векторные базы данных. В прошлый раз в блоге beeline cloud мы обсудили, насколько этот тренд устойчив, а также предложили несколько книг для желающих погрузиться в тему. Сегодня же мы собрали компактную подборку открытых СУБД и поисковых движков, способных помочь в разработке систем ИИ. Обсуждаем такие инструменты, как Lantern, LanceDB, CozoDB, ArcadeDB, Dart Vector DB, Marqo и Orama.

Читать далее
Total votes 7: ↑7 and ↓0+8
Comments3

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS

Reading time8 min
Views6.4K

В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.

В этой части мы более подробно рассмотрим техническую сторону RAGAS. Как обычно, начнем с более простых и интуитивно понятных примеров, потом перейдем к более сложным сценариям.

Читать далее
Total votes 13: ↑13 and ↓0+13
Comments1

Вербальные вычисления (VC) в доказательных DSS и NLP

Level of difficultyMedium
Reading time13 min
Views1.1K

С.Б. Пшеничников

В статье изложен новый математический аппарат вербальных вычислений в NLP (обработке естественного языка). Слова погружаются не в действительное векторное пространство, а в алгебру предельно разреженных матричных единиц. Вычисления становятся доказательными и прозрачными. На примере показаны развилки в вычислениях, которые остаются незамеченными при использовании традиционных подходов,   а результат при этом может быть неожиданным.

Использование IT в обработке естественного языка (Natural Language Processing, NLP)  требует стандартизации текстов, например, токенизации или лемматизации. После этого можно пробовать применять математику, поскольку она является высшей формой стандартизации и превращает исследуемые объекты в идеальные, например, таблицы данных в матрицы элементов. Только на языке матриц можно искать общие закономерности данных (чисел и текстов).

Если текст превращается в числа, то в NLP это сначала натуральные числа для нумерации слов, которые затем погружаются в действительное векторное пространство.

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

Для гипербинарных чисел существует своя арифметика и если к ней привыкнуть, то она покажется привычнее и проще пифагорейской арифметики.

В системах поддержки принятия решений (DSS) текстами являются оценочные суждения и пронумерованная шкала вербальных оценок. Далее (как и в NLP) номера превращаются в векторы действительных чисел и используются как наборы коэффициентов средних арифметических взвешенных.

Читать далее
Total votes 3: ↑3 and ↓0+4
Comments0

«Я его обучу, а он уйдёт». Формула, которая должна остаться шуткой

Level of difficultyMedium
Reading time7 min
Views45K

«Я его обучу, а он уйдёт». Формула, которая должна остаться шуткой

— Я их обучу, а они уйдут!
— Ты бойся, что ты их не обучишь, а они останутся.

/Старая менеджерская шутка/

Росстат говорит о падении уровня безработицы на 24% с марта 2021 года по январь 2023. Хорошо это или плохо – вопрос дискуссионный, но для HR – это сигнал бедствия. Стоимость найма и удержания сотрудника выросла не только среди рабочих специальностей, но и в IT, где рынок “соискателя” традиционно набирает обороты. Некоторые владельцы бизнеса не хотят вкладываться в развитие сотрудников. Зачем, если типичной стратегией квалифицированных специалистов становится смена работы каждые 2-3 года? Как говорил кот Матроскин: «Мы его, можно сказать, на помойке нашли, отмыли, очистили от очисток, а он нам фигвамы рисует…»

Тем не менее, развитие сотрудников – это действенный способ повышения лояльности и удержания специалистов. Мы поговорили с соучредителем HR-tech компании «Улей» Александром Григоряном, чтобы понять, как сделать сотрудников соратниками, ценными специалистами и не бояться при этом их потерять. 

Читать далее
Total votes 21: ↑15 and ↓6+20
Comments120

Профилирование производительности React-приложений

Reading time7 min
Views18K
Сегодня поговорим об измерении производительности рендеринга React-компонентов с использованием API React Profiler. Ещё мы будем оценивать взаимодействия с компонентом, применяя новый экспериментальный API Interaction Tracing. Кроме того, мы воспользуемся API User Timing для проведения собственных измерений.

В качестве площадки для экспериментов воспользуемся приложением React Movies Queue.


Приложение React Movies Queue
Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments0

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

Reading time4 min
Views10K

Документация!


Когда вы решите написать, свой велосипед по ловле хуков из docker hub или из registry для автоматического обновления/запуска контейнеров на сервере, вам может пригодиться Docker Cli, который поможет управлять демоном Docker в вашей системе.
image

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments4

React 18

Reading time16 min
Views21K

В нашем последнем посте мы поделились пошаговыми инструкциями по обновлению вашего приложения до React 18. В текущем посте мы дадим обзор того, что нового появилось в React 18, и что это означает для будущего.

Наша последняя основная версия включает в себя такие улучшения, как автоматическое пакетирование, новые API, такие как startTransition, и потоковый серверный рендеринг с поддержкой Suspense.

Многие функции в React 18 построены на основе нашего нового конкурентного рендеринга - закулисного изменения, которое открывает новые мощные возможности. Concurrent React является опциональным - он включается только при использовании concurrent функционала - но мы считаем, что он окажет большое влияние на то, как люди создают приложения.

Мы потратили годы на исследование и разработку поддержки конкурентности в React, и мы позаботились о том, чтобы обеспечить постепенное внедрение для существующих пользователей. Прошлым летом мы создали рабочую группу React 18, чтобы собрать отзывы экспертов сообщества и обеспечить плавное обновление для всей экосистемы React.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments5

Идеальный инструмент для создания прогрессивных веб-приложений или Все, что вы хотели знать о Workbox. Часть 2

Reading time27 min
Views7.6K

image


Что такое Workbox?


Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ).


Если вы впервые слышите о СВ, то перед изучением данного руководства настоятельно рекомендуется ознакомиться со следующими материалами:



WB предоставляет следующие возможности:


  • предварительное кэширование
  • кэширование во время выполнения
  • стратегии (кэширования)
  • обработка (перехват сетевых) запросов
  • фоновая синхронизация
  • помощь в отладке

Это вторая часть руководства. Вот ссылка на первую часть.


Модули, предоставляемые WB

Читать дальше →
Total votes 11: ↑10 and ↓1+12
Comments0

Книга «Apache Kafka. Потоковая обработка и анализ данных, 2-е издание»

Reading time13 min
Views7K
image Привет, Хаброжители!

При работе любого корпоративного приложения образуются данные: файлы журналов, показатели, информация об активности пользователей, исходящие сообщения и другие. Правильное управление этими данными не менее важно, чем сами данные. Если вы архитектор, разработчик или инженер-технолог, но вы пока не знакомы с Apache Kafka, то из этой обновленной книги вы узнаете, как работать с потоковой платформой Kafka, позволяющей обрабатывать потоки данных в реальном времени. Дополнительные главы посвящены API AdminClient от Kafka, транзакциям, новым функциям безопасности и изменениям в инструментарии.

Инженеры из Confluent и LinkedIn, ответственные за разработку Kafka, объясняют, как с помощью этой платформы развертывать производственные кластеры Kafka, писать надежные управляемые событиями микросервисы и создавать масштабируемые приложения для потоковой обработки данных. На подробных примерах вы изучите принципы проектирования Kafka, гарантии надежности, ключевые API и детали архитектуры.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Книга «Паттерны проектирования API»

Reading time21 min
Views16K
image Привет, Хаброжители!

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

Паттерны проектирования API определяют набор принципов для разработки внутренних и публичных API. Джей Джей Гивакс, будучи специалистом из Google, рассказывает о паттернах, которые обеспечат вашим API согласованность, масштабируемость и гибкость. Вы узнаете, как улучшить дизайн самых распространенных API и как действовать в сложных пограничных случаях. Понятные иллюстрации, актуальные примеры и подробные сценарии позволят тщательно разобраться в каждом паттерне.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Книга «Компьютерные сети. 6-е изд»

Reading time12 min
Views14K
image Привет, Хаброжители!

Перед вами шестое издание самой авторитетной книги по современным сетевым технологиям, написанное признанным экспертом Эндрю Таненбаумом в соавторстве со специалистом компании Google Дэвидом Уэзероллом и профессором Чикагского университета Ником Фимстером. Первая версия этого классического труда появилась на свет в далеком 1980 году, и с тех пор каждое издание книги неизменно становилось бестселлером. В книге последовательно изложены основные концепции, определяющие современное состояние компьютерных сетей и тенденции их развития. Авторы подробно объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до прикладного. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования интернета и компьютерных сетей различного типа. Большое внимание уделяется сетевой безопасности.

Шестое издание полностью переработано с учетом изменений, произошедших в сфере сетевых технологий за последние годы, и, в частности, освещает такие технологии, как DOCSIS, 4G и 5G, беспроводные сети стандарта 802.11ax, 100-гигабитные сети Ethernet, интернет вещей, современные транспортные протоколы CUBIC TCP, QUIC и BBR, программно-конфигурируемые сети и многое другое.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments23

Information

Rating
5,635-th
Date of birth
Registered
Activity

Specialization

Frontend Developer
Middle
JavaScript
TypeScript
Node.js
Express
React
Redux
Webpack
Web development
OOP
Software development