Как стать автором
Обновить
2
0
Evgeniy @zk-zeka

web-developer

Отправить сообщение

Распределённый инференс llama.cpp через RPC

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.7K

Приветствую, хабровчане!

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

Погуглив некоторое время узнал, что проект LocalAI уже относительно давно поддерживает такую возможность, недолго думая я раскатал на нескольких компьютерах данный проект, после чего выполнил все необходимые настройки связав все инстансы в единую систему и, мягко говоря, был разочарован, уж слишком "фатально-недостаточным" оказалось данное решение, Docker-образ собран неоптимально, он был огромный по весу и только под amd64, неотключаемый веб-интерфейс шел в комплекте с проектом, скупой выбор моделей, некоторые из доступных LLM не работали в режиме RPC, все эмбеддинговые модели тоже отказывались запускаться в таком режиме, и так далее и тому подобное.

Повозившись ещё немного, полез в исходники и обнаружил упоминание проекта llama.cpp, затем нашёл вызов бинарника rpc-server. И вот я оказался на странице llama.cpp/examples/rpc и всё заверте...

Читать далее
Всего голосов 19: ↑19 и ↓0+26
Комментарии15

Как быстро написать API на FastAPI с валидацией и базой данных

Время на прочтение11 мин
Количество просмотров26K

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

В этой статье мы разработаем простой API с помощью самого популярного стека и FastAPI. Рассмотрим важные концепции в работе с этим фреймворком, набросаем базовую структуру проекта и развернем приложение на облачном сервере. Подробности под катом!
Читать дальше →
Всего голосов 45: ↑40 и ↓5+43
Комментарии39

Топ полезных SQL-запросов для PostgreSQL

Время на прочтение7 мин
Количество просмотров93K

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

Читать далее
Всего голосов 70: ↑68 и ↓2+78
Комментарии16

Как настроить Nginx в качестве балансировщика нагрузки

Время на прочтение9 мин
Количество просмотров72K

Что такое балансировка нагрузки?


Балансировка нагрузки подразумевает эффективное распределение входящего сетевого трафика между группой бэкенд-серверов. Задача же регулятора — распределить нагрузку между несколькими установленными бэкенд-серверами.

Существует несколько типов балансировщиков нагрузки:

  • Балансировщик нагрузки приложений.
  • Сетевой балансировщик нагрузки.
  • Балансировщик нагрузки шлюза.
  • Классический балансировщик нагрузки.
Читать дальше →
Всего голосов 19: ↑15 и ↓4+17
Комментарии22

15 супер полезных примеров команды find в Linux

Время на прочтение9 мин
Количество просмотров90K

Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+34
Комментарии17

Apache Spark, объяснение ключевых терминов

Время на прочтение9 мин
Количество просмотров21K

Как отмечено в статье Survey shows huge popularity spike for Apache Spark:

«Apache Spark - это Тейлор Свифт программного обеспечения в мире больших данных. Технология с открытым исходным кодом существует и популярна в течении нескольких лет. Но 2015 год стал важной вехой, когда Spark прошел путь от перспективной технологии до настоящей суперзвезды. 

Одна из причин, по которой Apache Spark стал таким популярным, заключается в том, что Spark предоставляет саентистам и инженерам данных мощный унифицированный движок, который является одновременно быстрым (в 100 раз быстрее, чем Apache Hadoop), так и простым в использовании. Это позволяет различным специалистам по данным решать разнообразные проблемы, например, задачи машинного обучения, вычисление графов, потоковая обработка и выполнение в режиме реального времени различных запросов в гораздо большем масштабе. 

Читать далее
Всего голосов 4: ↑1 и ↓3-2
Комментарии7

Занимательные фигуры на Python в одну строку

Время на прочтение2 мин
Количество просмотров38K

Однострочники подобны коанам в Дзэн-буддизме. Как и коаны, некоторые однострочники можно охарактеризовать как "выражения ставящие мозг в тупик". Сами по себе они не научат программировать, но при накопленном определённом опыте позволят постичь всю силу и красоту языка программирования Пайтон.

Читать далее
Всего голосов 12: ↑11 и ↓1+11
Комментарии7

Настройка PostgreSQL под Linux

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров119K

Время от времени приходится слышать мнение от некоторых системных администраторов, а также некоторых 1С-разработчиков, что установка, настройка и поддержка PostgreSQL под Linux очень сложна. Что гораздо дешевле покупать лицензии Windows и Microsoft SQL Server, чем нанимать высококвалифицированных администраторов, которые будут администрировать все эти open-source системы.

На наших бизнес-приложениях, использующих в качестве СУБД PostgreSQL, работают 70% крупнейших розничных сетей в Беларуси. Во всех из них одновременно работают от 500 до 1500 пользователей. В приложениях реализованы практически все основные процессы розничных сетей (демо, чтобы оценить сложность). Размер баз данных на данный момент составляет от 2 до 4ТБ. И все они работают практически со стандартными настройками PostgreSQL на одиночных серверах без какой-либо кластеризации. При этом даже в самых загруженных серверах есть еще значительный резерв по ресурсам для дальнейшего увеличения нагрузки без потребности в кластеризации.

Да, конечно же, многое зависит от запросов к СУБД, и несколькими кривыми запросами можно положить весь сервер. Однако, точно также можно положить и Oracle, и MSSQL. Да, платформа lsFusion, на которой написаны наши приложения, делает много различных оптимизаций запросов конкретно под PostgreSQL. Но вручную SQL-запросы можно оптимизировать еще лучше.

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

Читать далее
Всего голосов 42: ↑39 и ↓3+38
Комментарии16

Крутые GitHub репозитории в области машинного обучения

Время на прочтение1 мин
Количество просмотров7.7K

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

Читать далее
Всего голосов 7: ↑2 и ↓5-3
Комментарии5

Правила умного дома

Время на прочтение7 мин
Количество просмотров38K

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

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

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

Автоматизация на Home Assistant
Всего голосов 18: ↑13 и ↓5+12
Комментарии151

Быстрый, мощный интерфейс на Python

Время на прочтение15 мин
Количество просмотров141K

Dear PyGui принципиально отличается от других фреймворков GUI Python. Рендеринг на GPU, более 70 виджетов, встроенная поддержка асинхронности — это лишь некоторые возможности Dear PyGui. Руководством по работе с этим пакетом делимся к старту курса по разработке на Python.

Читать далее
Всего голосов 54: ↑51 и ↓3+57
Комментарии48

Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз

Время на прочтение9 мин
Количество просмотров13K

В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.

Читать далее
Всего голосов 21: ↑18 и ↓3+19
Комментарии5

Docker Tips: Очистите свою машину от хлама

Время на прочтение8 мин
Количество просмотров163K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Docker Tips: Clean Up Your Local Machine" автора Luc Juggery.


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

Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии33

Борем deadlock при пакетных UPDATE

Время на прочтение3 мин
Количество просмотров17K

Однажды при выполнении достаточно тривиального запроса:

UPDATE tbl SET val = val + 1 WHERE id IN (1, 2, 3)

... вы получаете ошибку ERROR: deadlock detected

Но почему? Ведь еще вчера все успешно работало!

И что с этим теперь делать? Давайте разбираться.

Читать далее
Всего голосов 20: ↑19 и ↓1+25
Комментарии25

Полезные консольные Linux утилиты

Время на прочтение13 мин
Количество просмотров115K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Всего голосов 96: ↑92 и ↓4+110
Комментарии110

PGHero — дашборд для мониторинга БД PostgreSQL

Время на прочтение5 мин
Количество просмотров12K

Всем привет. Сегодня я бы хотел поделиться рецептом установки утилиты PGHero с подключением нескольких баз данных. PGHero — это простенькая утилита, написанная на Ruby, с минималистичным дашбордом для мониторинга производительности БД PostgreSQL.

Что может показать нам PGHero:

статистику по запросам: количество вызовов, среднее и суммарное время выполнения (с возможностью хранения истории);

активные в данный момент запросы;

информацию о таблицах: занимаемое на диске место, даты последних запусков VACUUM и ANALYSE;

информацию об индексах: занимаемое на диске место, наличие дублируемых/неиспользуемых индексов. Также может порекомендовать добавить индекс при наличии сложных запросов с Seq Scan;

статистику по открытым подключениям к БД;

вывод основных настроек БД, влияющих на производительность (shared_buffers, work_mem, maintenance_work_mem и т.д.)

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Комментарии9

Домашний DPI, или как бороться с провайдером его же методами

Время на прочтение16 мин
Количество просмотров283K

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Всего голосов 179: ↑178 и ↓1+244
Комментарии187

Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым

Время на прочтение8 мин
Количество просмотров64K

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

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

Мы проанализировали почти 50 000 уникальных файлов конфигурации Nginx, загруженных с GitHub с помощью Google BigQuery. С помощью собранных данных нам удалось выяснить,  какие ошибки в конфигурациях встречаются чаще всего.

Читать далее
Всего голосов 49: ↑48 и ↓1+66
Комментарии23

Как за 60$ создать систему распознавания лиц с помощью Python и Nvidia Jetson Nano 2GB

Время на прочтение17 мин
Количество просмотров19K

Новый набор инструментов для разработчиков Nvidia Jetson Nano 2GB представляет собой одноплатный компьютер с графическим ускорителем стоимостью 59$, работающий под управлением программного обеспечения с искусственным интеллектом.

Производительность, которую вы можете получить от одноплатного компьютера за 59$ в 2020 году, просто потрясающая. Давайте попробуем использовать этот продукт, чтобы собрать простой вариант домофона, который будет отслеживать всех людей, подходящих ко входной двери вашего дома. С помощью алгоритма распознавания лиц система мгновенно узнает, приближался ли когда-нибудь в прошлом к вашей двери этот человек, даже если в прошлый визит он был одет по-другому.

Приятного чтения!
Всего голосов 17: ↑15 и ↓2+19
Комментарии30

15 топовых веб скрапинг решений 2021 года

Время на прочтение5 мин
Количество просмотров41K

За последнее десятилетие информация стала основным ресурсом для развития бизнеса, а Интернет является основным источником,  где 5 миллиардов пользователей ежесекундно генерируют новые данные. Извлекая и анализируя эти веб данные, компании разрабатывают свои бизнес-стратегии  и достигают поставленных целей. Однако собрать и извлечь такой большой объем данных непросто; особенно для тех, кто все еще думает, что кнопка «Экспорт в Excel» существует или ручная обработка данных - это единственное решение.

Веб скрапинг позволяет компаниям автоматизировать процессы сбора веб данных с помощью ботов или автоматизированных скриптов, называемых веб-сканерами и загружать эти данные в формате Excel, CSV или XML для последующей аналитики.

Представляем вашему вниманию список топ 15 инструментов для парсинга 2021 года. 

Читать далее
Всего голосов 8: ↑6 и ↓2+5
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность