Построим GPT: с нуля и шаг за шагом
#почитать
Когда мы вводим запрос в chatGPT - ответ следует токен за токеном, слева направо. Это связано с тем, что GPT это sequence to sequence модель, которая расшифровывает как Generative Pre-trained Transformer. Именно эту архитектуру, я и реализую в этой статье.
Transformer исходит из знаменитой статьи 2017 года - Attention is all you need. Изначально, статья была для машинного перевода, однако в последующие несколько лет ее использовали для разного вида задач. В фундаменте chatGPT также лежит архитектура трансфомера.
⏱ Читать статью
#почитать
Когда мы вводим запрос в chatGPT - ответ следует токен за токеном, слева направо. Это связано с тем, что GPT это sequence to sequence модель, которая расшифровывает как Generative Pre-trained Transformer. Именно эту архитектуру, я и реализую в этой статье.
Transformer исходит из знаменитой статьи 2017 года - Attention is all you need. Изначально, статья была для машинного перевода, однако в последующие несколько лет ее использовали для разного вида задач. В фундаменте chatGPT также лежит архитектура трансфомера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
Квантовать или не квантовать LLM
#почитать
Многие онлайн-сервисы предлагают доступ к проприетарным LLM. Однако по различным причинам может возникнуть необходимость использовать эти модели на своем оборудовании. Аренда серверов, особенно с GPU, может быть дорогой и зависит от требований к RAM/VRAM. Квантование моделей помогает снизить эти требования.
⏱ Читать статью
#почитать
Многие онлайн-сервисы предлагают доступ к проприетарным LLM. Однако по различным причинам может возникнуть необходимость использовать эти модели на своем оборудовании. Аренда серверов, особенно с GPU, может быть дорогой и зависит от требований к RAM/VRAM. Квантование моделей помогает снизить эти требования.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
Визуальные трансформеры (ViT)
#почитать
В этой статье мы рассмотрим трансформер зрения (Vision Transformer, ViT) в том виде, в котором он был представлен в статье [2]. Она включает в себя открытый код ViT, а также концептуальные объяснения компонентов. Реализация ViT, рассмотренная в статье, выполнена с использованием пакета PyTorch.
⏱ Читать статью
#почитать
В этой статье мы рассмотрим трансформер зрения (Vision Transformer, ViT) в том виде, в котором он был представлен в статье [2]. Она включает в себя открытый код ViT, а также концептуальные объяснения компонентов. Реализация ViT, рассмотренная в статье, выполнена с использованием пакета PyTorch.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Прогнозирование банкротства физических лиц
#почитать
Начало процедуры банкротства физических лиц открывает двери для реструктуризации долгов и освобождения от финансового бремени, но также требует более детального анализа этого явления.
⏱ Читать статью
#почитать
Начало процедуры банкротства физических лиц открывает двери для реструктуризации долгов и освобождения от финансового бремени, но также требует более детального анализа этого явления.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Алгоритм k-means и метод локтя
#почитать
Алгоритм k-means используют для группировки объектов в наборы (кластеры) на основе их схожести. В основе работы k-means лежит принцип минимизации расстояния между объектами внутри одного кластера.
Представьте, что у вас есть много разноцветных шариков. Вам нужно разделить их на несколько групп, чтобы каждый шарик в группе был похож на остальные. Алгоритм помогает найти, как лучше всего сгруппировать эти шарики, чтобы в каждой группе они были максимально похожи друг на друга.
Он работает следующим образом: сначала выбираются несколько центров для групп (например, для трех групп — три центра). Затем алгоритм распределяет все шарики по группам, определяя, к какому центру они ближе. После этого он пересчитывает центры для новых групп и повторяет процесс, пока центры не перестанут сильно меняться. Это позволяет создать группы с шариками, схожими между собой.
⏱ Читать статью
#почитать
Алгоритм k-means используют для группировки объектов в наборы (кластеры) на основе их схожести. В основе работы k-means лежит принцип минимизации расстояния между объектами внутри одного кластера.
Представьте, что у вас есть много разноцветных шариков. Вам нужно разделить их на несколько групп, чтобы каждый шарик в группе был похож на остальные. Алгоритм помогает найти, как лучше всего сгруппировать эти шарики, чтобы в каждой группе они были максимально похожи друг на друга.
Он работает следующим образом: сначала выбираются несколько центров для групп (например, для трех групп — три центра). Затем алгоритм распределяет все шарики по группам, определяя, к какому центру они ближе. После этого он пересчитывает центры для новых групп и повторяет процесс, пока центры не перестанут сильно меняться. Это позволяет создать группы с шариками, схожими между собой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1🔥1
Быстрый матчинг товаров на маркетплейсе Wildberries
#почитать
Цель матчинга — предложить пользователю идентичные товары другого продавца, чтобы можно было купить товар дешевле либо с более быстрой доставкой.
⏱ Читать статью
#почитать
Цель матчинга — предложить пользователю идентичные товары другого продавца, чтобы можно было купить товар дешевле либо с более быстрой доставкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Hugging Face против AI Gitee: битва платформ для дата-саентистов
#почитать
⏱ Читать статью
#почитать
Сегодня поговорим об интересном феномене в мире машинного обучения: противостоянии Hugging Face и его китайского аналога AI Gitee. Как это часто бывает с инструментами машинного обучения, тут не все так однозначно. Разберем установку Hugging Face на разные системы, что скрывается за фасадом HuggingFace, что AI Gitee использует вместо Git LFS, неочевидные проблемы при интеграции и мониторинг работы моделей в продакшене.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Многопользовательский рой агентов для Ollama
#почитать
⏱ Читать статью
#почитать
Когда-то давным давно графический пользовательский интерфейс сменил консольный ввод. Казалось бы, проблему неудобства взаимодействия для неподготовленного пользователя мог бы решить псевдографический интерфейс, но есть фактор, который не все замечают.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Zero-shot решение задачи Visual Object Tracking
#почитать
В рамках данной статьи мы обсудим новое zero-shot решение (то есть способное справляться с задачей без дополнительного обучения на данных из конкретного домена) задачи Visual Object Tracking под названием SAMURAI(SAM-based Unified and Robust zero-shot visual tracker with motion-Aware Instance-level memory). Эта модель продемонстрировала хороший перфоманс в задаче визуального трекинга, обойдя на нескольких бенчмарках своего прямого предка - SAM 2, а также многие supervised-решения(требующие дообучения под конкретный домен и задачу).
⏱ Читать статью
#почитать
В рамках данной статьи мы обсудим новое zero-shot решение (то есть способное справляться с задачей без дополнительного обучения на данных из конкретного домена) задачи Visual Object Tracking под названием SAMURAI(SAM-based Unified and Robust zero-shot visual tracker with motion-Aware Instance-level memory). Эта модель продемонстрировала хороший перфоманс в задаче визуального трекинга, обойдя на нескольких бенчмарках своего прямого предка - SAM 2, а также многие supervised-решения(требующие дообучения под конкретный домен и задачу).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Опыт работы с библиотекой h3: гексы, геопризнаки и Geo Feature Store
#почитать
«h3 — это система геопространственной индексации, использующая гексагональную сетку, которая может быть (приблизительно) разделена на всё более мелкие гексагональные сетки»
Проще говоря, это библиотека, которая разбивает мир на шестиугольники.
⏱ Читать статью
#почитать
«h3 — это система геопространственной индексации, использующая гексагональную сетку, которая может быть (приблизительно) разделена на всё более мелкие гексагональные сетки»
Проще говоря, это библиотека, которая разбивает мир на шестиугольники.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Умножение троичных матриц для нейросетей
#почитать
Как известно, при умножении матриц, мы строку левой матрицы умножаем на столбец правой, и результат записываем в соответствующую ячейку результирующей матрицы. Чтобы было быстрее, мы правую матрицу предварительно транспонируем: тогда строку левой будем умножать на строку правой. Иначе говоря, мы скалярно перемножаем два вектора из тритов, причём оба занимают непрерывную область памяти.
Предположим, что процессор ориентирован на 32-битную арифметику. Тогда разобьём строку матрицы на векторы по 32 трита. Каждый из этих векторов будем хранить в виде двух 32-битных целых чисел, назовём их «плюс-вектором» и «минус-вектором». Трит с номером N равен разности бита с номером N плюс-вектора, и бита с номером N минус-вектора. При этом нулевое значение трита кодируется двумя способами: когда оба бита равны 0, или когда они оба равны 1.
⏱ Читать статью
#почитать
Как известно, при умножении матриц, мы строку левой матрицы умножаем на столбец правой, и результат записываем в соответствующую ячейку результирующей матрицы. Чтобы было быстрее, мы правую матрицу предварительно транспонируем: тогда строку левой будем умножать на строку правой. Иначе говоря, мы скалярно перемножаем два вектора из тритов, причём оба занимают непрерывную область памяти.
Предположим, что процессор ориентирован на 32-битную арифметику. Тогда разобьём строку матрицы на векторы по 32 трита. Каждый из этих векторов будем хранить в виде двух 32-битных целых чисел, назовём их «плюс-вектором» и «минус-вектором». Трит с номером N равен разности бита с номером N плюс-вектора, и бита с номером N минус-вектора. При этом нулевое значение трита кодируется двумя способами: когда оба бита равны 0, или когда они оба равны 1.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что такое конвергенция
#почитать
⏱ Читать статью
#почитать
Алгоритмы и модели машинного обучения оценивают по разным параметрам: от них зависит, насколько быстро и точно работает модель. Один из таких параметров — сходимость, или конвергенция алгоритма. Сходимость показывает, насколько быстро модель достигает «оптимума» — точки, за которой меньше ошибается и делает более точные прогнозы.
Разбираемся подробнее, что такое конвергенция, вместе с экспертом.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Понимают ли большие языковые модели данные из таблиц
#почитать
⏱ Читать статью
#почитать
Наша команда занимается интеллектуальной обработкой документов, и мы нередко сталкиваемся с документами, содержащими таблицы. Человек обычно анализирует их, опираясь на геометрию и визуал (границы ячеек, выделение заголовков, выравнивание текстов в ячейках). Таблицы — это двумерные объекты, языковые модели же работают с одномерными последовательностями токенов. Это наталкивает на вопрос: а насколько хорошо LLM справляются с анализом таблиц в документах?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Пишем простую нейронку для адаптивного управления JVM: обучение и применение многослойной нейронной сети на Java
#почитать
Предполагается, что нейронная сеть сможет предсказывать пиковые нагрузки, что позволит избежать избыточного расхода ресурсов или, наоборот, их нехватки. На практике это может быть полезно в разных системах, особенно в микросервисной архитектуре, где контейнеры регулярно требуют динамического управления ресурсами. Например Kubernetes динамически изменяет ресурсы на основе данных, которые передает AI-сервис. Это может быть полезно, если в будущем потребуется увеличить автономность системы.
⏱ Читать статью
#почитать
Предполагается, что нейронная сеть сможет предсказывать пиковые нагрузки, что позволит избежать избыточного расхода ресурсов или, наоборот, их нехватки. На практике это может быть полезно в разных системах, особенно в микросервисной архитектуре, где контейнеры регулярно требуют динамического управления ресурсами. Например Kubernetes динамически изменяет ресурсы на основе данных, которые передает AI-сервис. Это может быть полезно, если в будущем потребуется увеличить автономность системы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Atlas: Как реконструировать 3D сцену из набора изображений
#почитать
Представляю метод 3D-реконструкции сцены (процесс создания трехмерной модели объекта на основе двухмерных изображения или видео), который основан на линейной регрессии, усеченной знаковой функции расстояния (TSDF) (Рассмотрим в следующем пункте) из набора RGB-изображений с заданными позициями (для каждого изображения известны параметры камеры, включая её позицию и ориентацию в пространстве). Обычно подходы по 3D реконструкции опираются на карты глубины перед оценкой 3D сцены. Мы же предполагаем, что прямая регрессия в 3D более эффективна. 2D-CNN извлекает признаки из каждого изображения независимо, которые затем проецируются и аккумулируются (собираются) в воксельном объеме с использованием внутренних (Фокусное расстояние, Центр проекции, Коэффициенты искажения) и внешних (Позиция, Ориентация) параметров камеры. После 3D-CNN уточняет накопленные признаки и предсказывает значения TSDF.
⏱ Читать статью
#почитать
Представляю метод 3D-реконструкции сцены (процесс создания трехмерной модели объекта на основе двухмерных изображения или видео), который основан на линейной регрессии, усеченной знаковой функции расстояния (TSDF) (Рассмотрим в следующем пункте) из набора RGB-изображений с заданными позициями (для каждого изображения известны параметры камеры, включая её позицию и ориентацию в пространстве). Обычно подходы по 3D реконструкции опираются на карты глубины перед оценкой 3D сцены. Мы же предполагаем, что прямая регрессия в 3D более эффективна. 2D-CNN извлекает признаки из каждого изображения независимо, которые затем проецируются и аккумулируются (собираются) в воксельном объеме с использованием внутренних (Фокусное расстояние, Центр проекции, Коэффициенты искажения) и внешних (Позиция, Ориентация) параметров камеры. После 3D-CNN уточняет накопленные признаки и предсказывает значения TSDF.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
Запускаем Yolo на пятирублёвой монете или Luckfox Pico Mini
#почитать
В данной статье речь пойдет про использование платы Luckfox Pico Mini. Я расскажу про особенности, её настройку, а также о том как запускать на ней нейронные сети для детекции объектов с камеры (Yolov8). Всё дальнейшее повествование опирается на желание автора использовать устройство для обработки изображений нейронными сетями в реальном времени (или почти). При этом обработка изображений не может работать изолированно от других устройств общей системы, поэтому в статье также будет рассмотрена интеграция Luckfox Pico с внешней периферией.
⏱ Читать статью
#почитать
В данной статье речь пойдет про использование платы Luckfox Pico Mini. Я расскажу про особенности, её настройку, а также о том как запускать на ней нейронные сети для детекции объектов с камеры (Yolov8). Всё дальнейшее повествование опирается на желание автора использовать устройство для обработки изображений нейронными сетями в реальном времени (или почти). При этом обработка изображений не может работать изолированно от других устройств общей системы, поэтому в статье также будет рассмотрена интеграция Luckfox Pico с внешней периферией.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1👌1
Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5
#почитать
Железнодорожный путь требуют регулярного мониторинга различных элементов инфраструктуры дляобеспечения безопасности и бесперебойного движения поездов. Один из элементов инфраструктуры — пикетные столбики. Для автоматизации обработки и анализа собранных данных, в частности изображений, можно применить методы компьютерного зрения. Задача данной работы — автоматизировать процесс обнаружения пикетов на фотографиях, полученных с беспилотника.
⏱ Читать статью
#почитать
Железнодорожный путь требуют регулярного мониторинга различных элементов инфраструктуры дляобеспечения безопасности и бесперебойного движения поездов. Один из элементов инфраструктуры — пикетные столбики. Для автоматизации обработки и анализа собранных данных, в частности изображений, можно применить методы компьютерного зрения. Задача данной работы — автоматизировать процесс обнаружения пикетов на фотографиях, полученных с беспилотника.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
The AdEMAMix Optimizer: Better, Faster, Older
#почитать
В данный момент мы находимся на стадии развития глубинного обучения, когда просто увеличивать кластера для более качественного результата становится проблематично. А потому все начинают спускаться на уровень ниже. И одна из таких ниш для улучшения это, конечно, оптимайзеры.
И хотя за ночными разговорами на тихих улочках Санкт-Петербурга мелькают идеи о создании быстрых оптимизаторов второго порядка (Софочка, София, ты как ностальгия…), результат нам нужен здесь и сейчас, а потому в мире, к сожалению, все еще главенствуют Adam и AdamW. Но у них есть ряд проблем, которые исследователи усердно пытаются решить, и одна из них – это память. AdEMAMix предлагает максимально топорное решение данной проблемы просто путем внедрения двух импульсов с различными β. Но от этого оно менее эффективным не становится!
⏱ Читать статью
#почитать
В данный момент мы находимся на стадии развития глубинного обучения, когда просто увеличивать кластера для более качественного результата становится проблематично. А потому все начинают спускаться на уровень ниже. И одна из таких ниш для улучшения это, конечно, оптимайзеры.
И хотя за ночными разговорами на тихих улочках Санкт-Петербурга мелькают идеи о создании быстрых оптимизаторов второго порядка (Софочка, София, ты как ностальгия…), результат нам нужен здесь и сейчас, а потому в мире, к сожалению, все еще главенствуют Adam и AdamW. Но у них есть ряд проблем, которые исследователи усердно пытаются решить, и одна из них – это память. AdEMAMix предлагает максимально топорное решение данной проблемы просто путем внедрения двух импульсов с различными β. Но от этого оно менее эффективным не становится!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Руководство по интерпретации данных
#почитать
Уроки 10-летнего опыта в Uber, Meta и быстрорастущих стартапах
⏱ Читать статью
#почитать
Уроки 10-летнего опыта в Uber, Meta и быстрорастущих стартапах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Краткий свод концепций Tensor Flow
#почитать
Изначально фреймворк создавали как платформу для внутреннего использования в Google, заменив предшествующую библиотеку DistBelief, которая была ограничена возможностями только для небольших исследований.
TensorFlow, в отличие от DistBelief, задумывался как кросс-платформенное решение с возможностью гибкой и масштабируемой настройки.
Первая версия TensorFlow использовала концепцию графа вычислений и статической компиляции, что хотя и требовало большего количества ресурсов для разработки, позволяло проводить распределённое обучение и значительно ускоряло процесс выполнения.
С выпуском TensorFlow 2.x фреймворк претерпел значительные изменения, ориентированные на упрощение разработки за счёт поддержки динамических графов (Eager execution) и интеграции Keras как стандартного API высокого уровня.
⏱ Читать статью
#почитать
Изначально фреймворк создавали как платформу для внутреннего использования в Google, заменив предшествующую библиотеку DistBelief, которая была ограничена возможностями только для небольших исследований.
TensorFlow, в отличие от DistBelief, задумывался как кросс-платформенное решение с возможностью гибкой и масштабируемой настройки.
Первая версия TensorFlow использовала концепцию графа вычислений и статической компиляции, что хотя и требовало большего количества ресурсов для разработки, позволяло проводить распределённое обучение и значительно ускоряло процесс выполнения.
С выпуском TensorFlow 2.x фреймворк претерпел значительные изменения, ориентированные на упрощение разработки за счёт поддержки динамических графов (Eager execution) и интеграции Keras как стандартного API высокого уровня.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4