Pull to refresh
4
0
Андрей @Bitumok

User

Send message

Как создать мультидокументный ридер и чат-бот с помощью LangChain и ChatGPT

Reading time16 min
Views2.7K

Мы начнём с простого чат-бота, который может взаимодействовать только с одним документом; а закончим более продвинутым чат-ботом, который может взаимодействовать с несколькими различными документами и типами документов, а также сохранять историю чата — чтобы он мог отвечать на вопросы в контексте последних бесед.

Читать далее
Total votes 13: ↑14 and ↓-1+15
Comments3

Модули multiprocessing и threading в Python

Level of difficultyEasy
Reading time9 min
Views4.4K

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

Читать далее
Total votes 1: ↑2 and ↓-1+3
Comments2

Ускорение инференса LLM

Level of difficultyMedium
Reading time13 min
Views6.7K

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

Меня зовут Роман Горб, я старший ML-разработчик в команде YandexGPT. Тема инференса LLM заинтересовала меня, потому что я занимался R&D в квантовании сеток для CV-задач. Сегодня я расскажу, как безболезненно увеличить скорость инференса. Сперва разберёмся, зачем это нужно, а потом рассмотрим разные методы ускорения и фреймворки, которые могут в этом помочь.

Ускоряемся
Total votes 31: ↑30.5 and ↓0.5+30
Comments8

Разница между pool.map и pool.map_async в Python

Level of difficultyEasy
Reading time2 min
Views2.2K

Еще одна статья-шпаргалка о модуле multiprocessing в Python, без воды, от новичка для новичков многопроцессорного программирования.

pool.map и pool.map_async являются методами модуля multiprocessing.Pool в Python, которые позволяют параллельно выполнять функции на нескольких процессах.

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

Как развернуть Minecraft на сервере и сделать бэкап мира

Reading time7 min
Views5.9K

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

Посмотрим, как развернуть сервер Minecraft на операционной системе Ubuntu и создать бэкапы в объектное хранилище через утилиту s3fs. Подробности — под катом.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments21

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез

Level of difficultyMedium
Reading time15 min
Views6.1K

Одной из самых распространённых задач аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной аудитории крупного мобильного приложения, собрав данные 100 пользователей? Или стоит собрать данные о 1000 пользователях? Какую вероятность ошибиться при анализе мы можем допустить: 5% или 1%? Относятся ли две выборки к одной совокупности, или между ними есть ощутимая значимая разница и они относятся к разным совокупностям? Точность прогноза и вероятность ошибки при ответе на эти и другие вопросы поддаются вполне конкретным расчётам и могут корректироваться в зависимости от потребностей продукта и бизнеса на этапе планирования и подготовки эксперимента. Рассмотрим подробнее, как параметры эксперимента и статистические критерии оказывают влияние на результаты анализа и выводы обо всей совокупности, а для этого смоделируем тысячу A/A, A/B и A/B/C/D тестов.

Читать далее
Total votes 18: ↑21 and ↓-3+24
Comments13

Что такое дрифт ML-моделей и как его мониторить?

Reading time8 min
Views2.6K

Даже при наличии качественных входных данных качество предсказаний ML-модели со временем ухудшается. Под катом рассмотрим, как команда Neoflex с помощью мониторинга обнаруживает изменения вовремя и поделимся подборкой open source-библиотек для определения дрифта данных.

Теперь клиенты Selectel могут оптимизировать управление DS/ML-моделями с помощью MLOps-платформы Neoflex Dognauts. Она обеспечивает автоматизацию полного цикла разработки и эксплуатации моделей машинного обучения.
Читать дальше →
Total votes 35: ↑38 and ↓-3+41
Comments2

Обновление нейро-интерфейса Automatic1111 версия 1.9.0: что нового и как обновиться?

Level of difficultyEasy
Reading time4 min
Views4.4K

Привет всем любителям генерации изображений! Недавно вышло обновление популярного интерфейса Automatic1111 для графической нейросети Stable Diffusion.
Хотя заметных нововведений не так много, есть несколько интересных изменений, о которых стоит рассказать.

Читать далее
Total votes 3: ↑3.5 and ↓-0.5+4
Comments3

Как от одного датчика дойти до полу-умной квартиры

Level of difficultyMedium
Reading time12 min
Views12K

В интернете утверждают, что диоксид углерода влияет на наше самочувствие. А что если собрать устройство замера уровня CO2 самому? Учитывая, что каждая новая железка начинается с простой идеи, насколько далеко можно зайти в этом направлении? И что тут общего с полу-умной квартирой?

Читать далее
Total votes 28: ↑31.5 and ↓-3.5+35
Comments39

Автоматическая система полива сада на Home Assistant, ESP8266 и MiFlora

Reading time9 min
Views26K


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

Хотелось, чтобы система полива была автоматической, при этом при ее выборе приходилось учитывать следующие условия:

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

Оценив готовые решения, которые удалось найти в местных DIY сетях и на Amazon и почитав отзывы об их надежности (как правило, не самой высокой), решили попробовать сделать что-то самостоятельно.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments25

ОбАСУчиваем дачу. Начало

Reading time6 min
Views11K

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

Добрый день, уважаемые хабровчане!

Хочу предложить вашему вниманию историю моего скромного «хобби-проекта».

Как известно, бывают умные вещи и умные дома, а мне захотелось сделать «умную дачу»! Ну, такую, чтобы сама себя поливала в периоды долгого отсутствия хозяев, а в холодное время включала отопление к их приезду. Причём, сделать всё это «на минималках» и в смысле затрат финансовых, и в смысле затрат умственной и физической энергии. И чтобы было просто «прикольно». По специальности я инженер АСУ ТП, вот и захотелось создать некоторую вариацию такой системы на своём дачном участке. Идея эта зрела во мне долго, но должны были сложиться как объективные так и субъективные обстоятельства.

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

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

Читать далее
Total votes 15: ↑15.5 and ↓-0.5+16
Comments56

Как я собрал красивое ведро для гидропоники

Level of difficultyEasy
Reading time10 min
Views24K

Несколько лет назад я писал пост о том, как вырастить на гидропонике крайне острый Trinidad Scorpion CARDI. Он, при его живительных 1.2 миллионах единиц Сковилла, на неподготовленных перцеедов производит впечатление эквивалентное облизыванию паяльника.

Пока Монстр плодоносил и радовал в течение нескольких лет, я продумывал более удобный вариант гидропонной установки, который было бы не стыдно показывать в приличном интерьере гостям. Классический вариант “юного гидропониста” из канализационных труб, алюминиевого скотча и вороха булькающих трубочек был с негодованием забракован женой. Я разработал и протестировал несколько прототипов с 3D-печатными элементами, но потом проект был поставлен на паузу.

Окончательно доделать его получилось после того, как внезапно выяснилось, что коллеги тоже фанаты острого. Мы собрались в нашей виртуальной “курилке”, запилили проект со всеми положенными milestone в Asana и начали тестировать. Садитесь поудобнее, сегодня будет лонгрид-оффтопик, про то, как толпа DevOPS из WiseOPS пилила совместный хобби проект для украшения офиса. Да, мы заняты не только работой) А еще я поделюсь подробной инструкцией и файлами для 3D-печати.

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

Читать далее
Total votes 104: ↑115 and ↓-11+126
Comments156

Топовые подходы к решению алгоритмических задач

Reading time11 min
Views18K

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

Читать далее
Total votes 11: ↑13.5 and ↓-2.5+16
Comments10

LOCOST и SPECTRUM, два подхода к суммаризации

Level of difficultyMedium
Reading time4 min
Views458

2-3 абзаца — привычный размер входного текста для языковых моделей. Больше — тяжело, потому что вычислительная сложность растет квадратичным образом. Поэтому битва за удлинение контекста продолжается и постоянно возникают новые, общие или не очень, подходы. В этом обзоре мы расскажем о двух подходах, связанных с суммаризацией большого текста. Первый — LOCOST — направлен на длинные тексты (статьи и целые книги). Второй — SPECTRUM — на долгие диалоги.

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

Последнее издание культовой книги «Искусство схемотехники» стало доступно русскоязычным читателям

Level of difficultyEasy
Reading time4 min
Views37K

“Электронщики, как учит нас Парацельс, самозарождаются среди паяльников, радиодеталей, универсальных плат и проводов” (@teap0t)

Возможно, это действительно так, но без хорошей книги - учебника или справочника, которые служат катализатором, этот процесс может так и не завершиться. А лучшей книгой для начинающих разработчиков электронных схем и практически библией электронщиков последние сорок лет, считается "Искусство схемотехники" (англ. - The Art of Electronics) Пауля Хоровица и Уинфилда Хилла.

Читать далее
Total votes 64: ↑73 and ↓-9+82
Comments133

Народный измеритель ёмкости батареек BatteryTest

Level of difficultyEasy
Reading time6 min
Views25K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



Читать дальше →
Total votes 193: ↑211.5 and ↓-18.5+230
Comments51

Теоретические основы всех популярных алгоритмов машинного обучения и их реализация с нуля на Python

Level of difficultyHard
Reading time1 min
Views22K

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

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

Мега-Учебник Flask Глава 2: Шаблоны (издание 2024)

Level of difficultyMedium
Reading time8 min
Views4K

После завершения главы 1 у вас должно получиться простое, но функциональное веб-приложение. Во второй части серии мега-учебника по Flask я собираюсь обсудить, как работать с шаблонами.

Начать изучение
Total votes 15: ↑15 and ↓0+15
Comments3

Прибор для измерения качества света Opple Light Master IV

Level of difficultyEasy
Reading time3 min
Views5.9K
Ещё совсем недавно измерить основные параметры света можно было только с помощью спектрометра, стоящего в лучшем случае $500, но два года назад всё изменилось — появился дешёвый прибор Opple Light Master Pro, способный вполне сносно измерять индекс цветопередачи, цветовую температуру, освещённость и коэффициент пульсации света.

В этом году ему на смену пришёл Opple Light Master 4. Сейчас, пока продолжается распродажа на Aliexpress, его можно купить за 2110 рублей.


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

Много-агентное планирование траекторий в децентрализованном режиме: эвристический поиск и обучение с подкреплением

Level of difficultyMedium
Reading time17 min
Views2.8K

Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Когда речь идет о том, чтобы построить траекторию для одного агента, то задачу зачастую сводят к поиску пути на графе, а для этого в свою очередь обычно используют алгоритм A* или какие‑то из его многочисленных модификаций. Если же агентов много, они перемещаются в рабочем пространстве одновременно, то задача (внезапно) становится несколько более сложной и применить напрямую A* не получится. Вернее получится, но лишь для небольшого числа агентов (проклятье размерности, куда деваться). Тем не менее для централизованного случая, т. е. для случая, когда есть один (мощный) вычислитель, с которым связаны все агенты и который всё про всех знает, решить задачу много‑агентного планирования можно достаточно эффективно. Можно даже находить оптимальные решения для умеренного количества агентов за относительное приемлемое время (например, порядка 1 секунды на современном десктопном PC для 30–50 агентов).

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

В этом посте я расскажу о наших свежих наработках в этой области, а именно о гибридном методе, которые сочетает в себе принципы классического эвристического поиска (A*) и обучения с подкреплением (PPO). Метод получился неплохим, превосходящим многие современные аналоги по результатам экспериментов, а соответствующая статья была принята на The 38th AAAI Conference on Artificial Intelligence (пока доступен только препринт). Это одна из топовых академических конференций по искусственному интеллекту, которая в этом (2024) году проходила в Канаде (спойлер: я сам визу получить не успел, но моим коллегам и со‑авторам, кто имел ранее выданные Канадские визы, удалось принять личное участие и достойно представить нашу науку на мировом уровне).

Итак, поехали!
Total votes 27: ↑27 and ↓0+27
Comments10
1
23 ...

Information

Rating
Does not participate
Location
Рязань, Рязанская обл., Россия
Date of birth
Registered
Activity