Pull to refresh
0
0
Send message

VLM в Нейро: как мы создавали мультимодальную нейросеть для поиска по картинкам

Reading time11 min
Views2.8K

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

Меня зовут Роман Исаченко, я работаю в команде компьютерного зрения Яндекса. В этой статье я расскажу, что такое визуально‑текстовые мультимодальные модели (Visual Language Models или VLM), как у нас в Яндексе организован процесс их обучения и какая у них архитектура. Вы узнаете, как Нейро работал с картинками и текстами раньше, и что изменилось с появлением VLM.

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

Всем про LLM. Как рассказать про трансформеры одинаково хорошо и индустриалам, и исследователям

Level of difficultyEasy
Reading time11 min
Views2.4K

Привет, Хабр. Меня зовут Вика, я работаю в AIRI, преподаю в Школе Анализа Данных и Сколтехе и вместе со своими коллегами занимаюсь обработкой естественного языка, изображений и видео, а также иными задачами, где могли бы пригодиться трансформерные модели. Трансформерные архитектуры — очень мощное орудие, которые может быть применено почти во всех сферах DL, и интереснейший концепт, в котором много потенциала для исследования. А, главное, их очень легко применить к технологиям, которые способны изменить нашу жизнь здесь и сейчас.

На словах всё красиво. Но три года назад мы заметили, что и магистры, и работники индустрии, связанной с AI, часто просят «объяснить, как же все‑таки работают трансформеры, потому что из научной статьи ничего не понятно». Так происходит из‑за того, что многое, что в статьях считается очевидным и само собой разумеющимся, очень плохо разъясняется в учебной литературе или существующих курсах. Как следствие, многие не могут использовать трансформеры для решения практических задач и реализации своих идей.

Эта трудность побудила нас создать полноценный курс по трансформерам, в котором проработаны такие проблемные точки и который адаптирован для студентов с разным профессиональным бэкграундом. О нём я и расскажу в этой статье.

Мы уже апробировали курс на лекциях в Сколтехе, МГУ и Сбер Университете, и написали в AIRI о нём статью, которую представили на воркшопе по преподаванию на одной из самых популярных мировых конференций по NLP — ACL-2024. Материалы академической версии курса можно найти в нашем репозитории.

Приятного чтения!

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments9

Машинное обучение без кодинга для фронтенд-задач. Разбираем работу фреймворка MediaPipe

Reading time19 min
Views3K

Меня зовут Ярослав Французяк. Я фронтенд-разработчик в GARPIX. В этой статье расскажу о таком инструменте, как фреймворк MediaPipe от Google. На основе готовых моделей он позволяет разработчикам внедрять сложные функции компьютерного зрения и обработки мультимедиа в веб-приложениях — распознавать лица, анализировать изображения, отслеживать движение, обрабатывать видео в реальном времени и многое другое. Мы разберём работу фреймворка на примере, погрузимся в векторную математику в трёхмерном пространстве и сложности распознавания ключевых точек лица.

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

Как оценить качество LLM модели

Reading time11 min
Views1.4K

Представьте модели LLM размером до более чем 100 миллиардов параметров, каждая из которых мощнее предыдущей. Среди них есть гиганты: Mistral (7 миллиардов), Mixtral (8x7 миллиардов), Llama (70 миллиардов) и колоссальная Falcon (180 миллиардов). Однако существуют и модели наподобие Phi1, Phi1.5 и Falcon 1B, стремящиеся к сравнимому уровню мощности, имея всего от 1 до 4 миллиардов параметров. У каждой модели, и большой, и маленькой, есть одна цель: стать мастером в искусстве языка, превосходно справляться с такими задачами, как резюмирование текстов, ответы на вопросы и распознавание именованных сущностей.

Но во всех этих задачах у всех больших языковых моделей (Large Language Model, LLM) проявляются сильные изъяны:

  • Некоторые промты заставляют LLM создавать мусорные результаты; они называются «промтами джейлбрейкинга».
  • LLM не всегда правильно излагают факты; это явление называется «галлюцинациями».
  • LLM могут вести себя неожиданно, из-за чего потребителям бывает небезопасно ими пользоваться.

Очевидно, что простого обучения LLM недостаточно. Поэтому возникает вопрос: как нам обеспечить уверенность в том, что LLM А (с n параметров) лучше LLM Б (с m параметров)? Или сделать вывод, что LLM А надёжнее, чем LLM Б, на основании исчисляемых, обоснованных наблюдений?

Необходим стандарт для бенчмаркинга LLM, гарантирующий их этическую надёжность и фактическую точность. Хотя было проведено множество исследований бенчмаркинга (например, MMLU, HellaSwag, BBH и так далее), одних лишь исследований недостаточно для надёжного специализированного бенчмаркинга продакшен-систем.
Читать дальше →
Total votes 3: ↑1 and ↓2-1
Comments0

Оконные функции простым языком — Фреймы

Level of difficultyEasy
Reading time4 min
Views5.2K

Привет всем!

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

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

P.S. Если автор что-то не разобрал и не написал, значит он посчитал это не обязательным в рамках этой статьи :-)

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

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

Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

Reading time40 min
Views9.3K

Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.

Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата.

Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом Amvera Cloud. Нам нужно будет подготовить файлы приложения, написать код, создать файл с настройками (можно сгенерировать на сайте или скопировать мой код), а затем доставить файлы на сервис. Для доставки можно использовать встроенный терминал или GIT, используя стандартные команды PUSH/PULL.

Но прежде чем мы погрузимся в код, давайте кратко обсудим, что такое вебсокеты и как они работают в контексте FastApi.

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

Реализация REST API-метода с пагинацией на примере JSON-Schema и OpenAPI

Level of difficultyEasy
Reading time8 min
Views5.7K

В этой статье на примере JSON-схемы и спецификации OpenAPI рассматривается проектирование метода REST API с пагинацией, предназначенного для запроса данных из БД.

Данный текст преимущественно ориентирован на начинающих системных аналитиков и всех, кто интересуется проектированием IT-систем.

Читать далее
Total votes 13: ↑7 and ↓6+2
Comments14

Как понять свой уровень квалификации: junior, middle или senior

Reading time8 min
Views44K

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

Читать далее
Total votes 24: ↑19 and ↓5+25
Comments48

Data Warehouse, Data Lake, Data Lakehouse, Data Fabric, Data Mesh – что это такое, и в чем разница между концепциями

Reading time14 min
Views12K

Эпоха современных хранилищ данных началась с появления реляционных баз данных (далее БД). С появлением бизнес‑аналитики следствием развития БД стала концепция Data Warehouse (корпоративное хранилище данных, DWH).

Дальнейший рост объемов данных, введение термина «большие данные» и разнообразие требований к обработке привели к эволюции архитектур данных.

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

Читать далее
Total votes 17: ↑15 and ↓2+18
Comments3

Готовим по рецепту: CI/CD в MLOps

Level of difficultyMedium
Reading time15 min
Views3.8K

Всем привет! Меня зовут Роза и я MLOps-инженер в Купере. Под катом расскажу, как построить CI/CD-пайплайн для ML-приложений с нуля, поэтапно и без боли. Ну почти :)

Раньше очень часто работа DS-инженера заканчивалась на подготовке кода модели в Jupyter-ноутбуке, а дальше его подхватывали команды разработки и доводили до продакшена. У такого подхода есть минусы. Например, если произойдёт инцидент, непонятно кто ответственен за сервис  — команда разработки или авторы ML-модели?

К счастью, культура разработки меняется: теперь ML-инженер — это специалист, который разрабатывает свой ML-сервис на всем пути от общения с бизнесом до продакшена. Этот подход хорошо описывает принцип «you build it, you run it»: кто построил модель, тот её и запускает. Как раз в этом здорово помогает CI/CD.

Погнали!
Total votes 19: ↑18 and ↓1+22
Comments9

Что должен знать каждый разработчик о вычислениях на GPU

Level of difficultyMedium
Reading time13 min
Views13K

Большинство программистов отлично разбираются в работе процессоров и последовательном программировании, поскольку с самого начала пишут код для CPU. Однако многие из них меньше знают о том, как устроены графические процессоры (GPU) и в чем заключается их уникальность. За последнее десятилетие GPU стали чрезвычайно важны благодаря широкому применению в глубоком обучении, и сегодня каждому разработчику необходимо обладать базовыми знаниями о том, как они работают. Цель этой статьи — дать вам это понимание. 

Читать далее
Total votes 36: ↑34 and ↓2+42
Comments6

Учимся у лучших или как сделать ваше выступление запоминающимся

Level of difficultyEasy
Reading time5 min
Views2.1K

Выступления — это искусство, в котором важно не только содержание, но и то, как вы его преподносите. Даже самые сложные или сухие темы можно подать так, чтобы аудитория была вовлечена и активно участвовала. Рассмотрим на реальных кейсах известных спикеров то, какие приемы делают их выступления запоминающимися!

Читать далее
Total votes 13: ↑11 and ↓2+15
Comments17

Что почитать по машинному обучению: подборка из 6 книг

Reading time4 min
Views12K

Привет, Хабр! Это Миша Степнов, руководитель центра R&D Big Data в МТС Диджитал. Машинное обучение и технологии искусственного интеллекта постоянно развиваются — так что специалистам этой сферы приходится за ними поспевать. Держать руку на пульсе помогают в том числе книги. Сегодня поделюсь подборкой из шести книг по машинному обучению, которые будут интересны начинающим (и не только) специалистам.

Читать далее
Total votes 18: ↑17 and ↓1+27
Comments2

Знакомство с Docker или зачем это всё нужно

Level of difficultyEasy
Reading time7 min
Views15K

Всем привет. Меня зовут Алексей, вместе с командой я занимаюсь разработкой прикладных решений в системе Saby компании Тензор. В своей статье хочу поговорить про Docker.

При знакомстве с любой технологией важно понимать, зачем инвестировать своё время в её изучение. Для этого нужно иметь хотя бы общее представление о предметной теме. Сейчас, когда Docker используется повсеместно, многие разработчики (особенно молодые) относятся к нему, как к данности, при этом не до конца понимая, зачем, собственно, он используется и какие проблемы решает. На Хабре есть ознакомительные статьи про Docker, однако они не в полной мере (вернее, не в той мере, в которой хотелось бы мне :) ) освещают данный вопрос. Так возникла идея написания этой статьи. При ее подготовке были использованы: информация из книги Docker In Action, данные с профильных сайтов, собственные разработки для выступления на внутрикорпоративном митапе Тензора, материалы с IT-форумов и, конечно, личный опыт. Если вы опытный разработчик/администратор/devops, и уже давно используете Docker, вы вряд ли узнаете что-то новое из статьи и можете смело проходить мимо. Если же ваш профессиональный путь только начинается, надеюсь, что этот материал поможет вам в освоении данной технологии.

Читать далее
Total votes 16: ↑16 and ↓0+22
Comments4

Python: как переменные работают на самом деле? Погружаемся в байткод и C

Level of difficultyHard
Reading time8 min
Views14K

Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.

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

Под катом куча кишков питона и видео на 46 минут с дополнительными кишками питона (ни один настоящий питон не пострадал при написании данной статьи).

Читать далее
Total votes 42: ↑41 and ↓1+55
Comments6

Микросервисы. Исследование кухни

Level of difficultyMedium
Reading time9 min
Views7.2K

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

Читать далее
Total votes 15: ↑12 and ↓3+11
Comments9

Микросервисы для тех, кто прикидывается разработчиком. Часть 2

Level of difficultyEasy
Reading time4 min
Views16K

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

Читать далее...
Total votes 17: ↑14 and ↓3+15
Comments12

Загруженность GPU — не самая репрезентативная метрика

Reading time7 min
Views3.5K

В командах ML-инженеров часто пользуются метрикой «GPU Utilization» (Загруженность процессора), чтобы понять, насколько активно задействуется в работе процессор. Чтобы узнать эту информацию, обычно достаточно выполнить команду nvidia-smi в строке терминала. Во многих интегрированных наблюдательных инструментах загруженность процессора также отслеживается как основная характеристика производительности. Но иногда, как ни удивительно, эта метрика даёт не слишком точное представление о производительности GPU. На самом деле, GPU можно загрузить на 100%, выполняя лишь операции чтения и записи (в памяти), но при этом 0 вычислений. Эта статья – не о том, как мы это выяснили, а о том, что нам удалось узнать по ходу дела.

Читать далее
Total votes 8: ↑6 and ↓2+12
Comments1

Автоматизация тестирования API посредством Postman

Level of difficultyMedium
Reading time5 min
Views5.4K

Добрый День! Меня зовут Галактион, я — QA, в этой статье я собираюсь поделиться с Вами опытом автоматизации API посредством Postman, используя язык программирования — JavaScript.

Проект, о котором пойдет речь — региональный портал государственных и муниципальных услуг, в котором интегрированы следующие сервисы (все перечислять не буду, т.к. их множество).

Читать далее
Total votes 10: ↑8 and ↓2+10
Comments5

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 5: Поведенческое интервью + Бонусы

Level of difficultyMedium
Reading time7 min
Views4.6K

Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).

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

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

Читать далее
Total votes 9: ↑3 and ↓6+1
Comments0
1
23 ...

Information

Rating
Does not participate
Registered
Activity