Как стать автором
Обновить
3
0
Ботов Никита @Keremet_2030

Разработка ПО, интеграция, автоматизация

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

Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT

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

Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.

Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.

И бонусом затронем новую модель для качественного подробного описания фото.

UPD: Добавлена информация для запуска на Windows с ускорением на AMD.

Читать далее
Всего голосов 88: ↑86 и ↓2+102
Комментарии87

Как воспитать GPT модель в домашних условиях [LLaMA Update]

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

Мы решили проверить технологию, на которой основан ChatGPT, посмотреть актуальное состояние open-source GPT-like моделей и ответить на вопрос — можно ли обучить GPT-like модель в домашних условиях?

Для эксперимента выбрали LLaMA и GPT-J и не самый мощный ПК с видеокартой Nvidia GTX 1080TI с 11 GB VRAM. Оказалось, что этого достаточно не только, чтобы загрузить модель, но и дообучить ее (fine-tune). Рассказываем — как мы это сделали.

Читать далее
Всего голосов 42: ↑40 и ↓2+44
Комментарии25

Разработка кросплатформенного приложения на Qt с использованием нейросетей, обученных на tensorflow

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

Разработка кроссплатформенного приложения на Qt с использованием нейросетей обученных на tensorflow.

Читать далее
Всего голосов 12: ↑9 и ↓3+14
Комментарии16

Тестовый запуск системы видеонаблюдения Synology на 8 камер

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров17K

Речь пойдёт о системе записи с IP-камер Surveillance Station от Synology. Я сам уже много лет использую Synology, причём впервые познакомился с ней ещё до покупки оригинального железного сервера, установив через Xpenology фирменную операционную систему на обычный компьютер.

Xpenology является загрузчиком операционной системы от Synology, которая называется DSM (DiskStation Manager) и используется на  фирменных NAS Synology. DSM работает на пользовательской версии Linux, разработанной Synology.

Веб-приложение Surveillance Station - это система NVR (сетевой видеозаписи) для обеспечения безопасности с помощью мониторинга IP-камер. Это приложение кажется довольно удобной, хотя и проприетарной системой видеонаблюдения, которая работает прямо из коробки. По умолчанию возможно бесплатное подключение только двух камер.

Однако бразилец Фабио Белавенуто в июле 2022 выложил на гитхабе проект загрузчика Automated RedPill Loader (ARPL), который позволяет практически без использования командной строки создать загрузочную флешку и протестировать запуск Synology DSM 7.1 и Surveillance Station 9.0.1-7673 на 8 камер без какой либо дополнительной оплаты на обычном компьютере при эмуляции сетевого хранилища DVA1622.

Альтернативный загрузчик для Синолоджи?
Всего голосов 6: ↑5 и ↓1+5
Комментарии6

Распознавание номерных знаков. Как все ускорить

Время на прочтение8 мин
Количество просмотров20K
Nomeroff Net. Как ускорить распознавние номерных знаков.

После запуска моделей на прод рано или поздно приходит понимание того, что Ваши сервисы популярны и что KPI растут. Вместе с популярностью приходят тормоза и нестабильность. В этой статье речь пойдет о прикладном аспекте оптимизации быстродействия алгоритмов/моделей на примере движка распознавания автомобильных номеров “Nomeroff Net”. Буду делиться опытом, полученным на протяжении 2-х летней разработки. Если коротко: нам удалось ускорить время распознавания 1 фото более чем в 10 раз.

“Чел догадался в свой сервер вставить RTX 3090” подумаете Вы… Приблизительно так и было, только если взять замеры до установки GPU то все ускорили в 100+ раз :).
Не будет детального описания архитектуры моделей (они давно известны в узких кругах), хочу поделиться важными моментами, на которые стоит обратить внимание при оптимизации ваших ML-сервисов.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии12

Кэш в асинхронных python приложениях

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

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

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

Web Sip клиент на основе JsSIP + FreePBX

Время на прочтение5 мин
Количество просмотров21K
У FreePBX есть Web Sip клиент. Мне было интересно как он работает. Начав изучать технологию WebRTC я наткнулся на 3 библиотеки — это JsSIP, его fork SIP.js, а также sipml5.

JsSIP и SIP.js не удалось запустить с первого раза, не хватало опыта. А вот sipml5 оказался самым простым в применении. Скачав его тестовую версию, получилось совершить первый звонок.

Все 3 библиотеки работоспособны. У каждой есть свои сильные и слабые стороны. Протестировав все 3 библиотеки, остановил выбор на JsSIP.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии6

Mask R-CNN от новичка до профессионала

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


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

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

Прямой VPN-туннель между двумя компьютерами находящимися за NAT провайдеров с использованием UDP hole punching

Время на прочтение11 мин
Количество просмотров65K
Статья о том, как мне удалось организовать прямой (точка-точка) VPN-туннель между двумя компьютерами, каждый из которых находился за NAT'ом провайдеров, при помощи VPS и простых скриптов, используя стандартные утилиты Linux, без каких-либо настроек сетевого оборудования.
Читать дальше →
Всего голосов 23: ↑18 и ↓5+20
Комментарии39

Распознавание номеров. Практическое пособие. Часть 1

Время на прочтение6 мин
Количество просмотров106K
Пример распознавания номерных знаков

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

И в один прекрасный день МВД Украины открыло доступ к реестру транспортных средств. Теперь по номерному знаку стало возможным проверять некоторую информацию про автомобиль (марку, модель, год выпуска, цвет и т.д. )! Скучная рутина линейного программирования померкла перед новой свехзадачей — считывать номера по всей базе фото и валидировать эти данные с теми, что указывал пользователь. Сами знаете как это бывает «глаза загорелись» — вызов принят, все остальные задачи на время стали скучны и монотонны… Мы принялись за работу и получили неплохие результаты, чем, собственно и решили поделиться с сообществом.
Для справки: на сайт AUTO.RIA.com, в день добавляется около 100 000 фото.
Датасаентисты давно уже знают и умеют решать подобные задачи, поэтому мы с dimabendera написали эту статью именно для программистов. Если вы не боитесь словосочетания «сверточные сети» и умеете писать «Hello World» на питоне — милости просим под кат…
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии58

Трехмерный движок внутри запроса SQL

Время на прочтение8 мин
Количество просмотров41K
Несколько лет назад на форуме SQL.ru решили провести сравнение реализаций трассировщиков лучей на разных языках программирования. К сожалению, моя заявка не может участвовать т.к. она не выводит надпись «PIXAR», поэтому публикую ее здесь.

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

WITH RECURSIVE numbers AS (SELECT 0 AS n UNION ALL SELECT n+1 FROM numbers WHERE n<89),
pixels AS (SELECT rows.n as row, cols.n as col FROM numbers as rows CROSS JOIN
numbers as cols WHERE rows.n > 4 AND rows.n < 38 AND cols.n > 9 AND cols.n < 89),
rawRays AS (SELECT row, col, -0.9049 + col * 0.0065 + row * 0.0057 as x,
-0.1487 + row * -0.0171 as y, 0.6713 + col * 0.0045 + row * -0.0081 as z FROM pixels),
norms AS (SELECT row, col, x, y, z, (1 + x * x + y * y + z * z) / 2 as n FROM rawRays),
rays AS (SELECT row, col, x / n AS x, y / n AS y, z / n AS z FROM norms),
iters AS (SELECT row, col, 0 as it, 0 as v FROM rays UNION ALL
SELECT rays.row, rays.col, it + 1 AS it, v + MAX(ABS(0.7+v*x) - 0.3,
ABS(0.7+v*y) - 0.3, ABS(-1.1+v*z) - 0.3, -((0.7+v*x) * (0.7+v*x) +
(0.7+v*y) * (0.7+v*y) + (-1.1+v*z) * (-1.1+v*z)) * 1.78 + 0.28) AS v
FROM iters JOIN rays ON rays.row = iters.row AND rays.col = iters.col WHERE it < 15),
lastIters AS (SELECT it0.row, it0.col, it0.v AS v0, it1.v AS v1, it2.v AS v2
FROM iters as it0 JOIN iters AS it1 ON it0.col = it1.col AND it0.row = it1.row
JOIN iters AS it2 ON it0.col = it2.col AND it0.row = it2.row
WHERE it0.it = 15 AND it1.it = 14 AND it2.it = 13),
res AS (SELECT col, (v0 - v1) / (v1 - v2) as v FROM lastIters)
SELECT group_concat(
substr('$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^. ',
round(1 + max(0, min(66, v * 67))), 1) || CASE WHEN col=88 THEN X'0A' ELSE '' END, '')
FROM res;



Здесь можно покрутить кубик

Под катом построчный разбор запроса. Как обычно, достаточно знания основ SQL и школьной математики.
Читать дальше →
Всего голосов 169: ↑168 и ↓1+167
Комментарии24

Настройка squid или как не купить платное решение

Время на прочтение20 мин
Количество просмотров124K
image

Всем привет!

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

Мы пытались внедрить решение от Ideco и ИКС, в итоге остановились на squid. Под катом история пути и техническая информация по настройке старого доброго кальмара.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии31

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Backend Developer
Senior
От 2 000 000 ₸