Pull to refresh
4
0
Денис Рябов @mobi

Пользователь

Send message

Работаем с PyTorch на CPU

Level of difficultyMedium
Reading time10 min
Views4K


В этой статье мы рассмотрим железо, настройки, подводные камни и неочевидные вещи, которые позволят выжать всё из вашего процессора для как можно более комфортной работы PyTorch на CPU. Даже если у вас есть видеокарта, поддерживаемая PyTorch, вы сможете увеличить продуктивность компа через распараллеливание нагрузки на CPU и видеокарту.
Поехали!
Total votes 34: ↑34 and ↓0+45
Comments7

17 продвинутых RAG-техник: как превратить прототип LLM-приложения в готовое решение

Reading time18 min
Views4K

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

И ведь действительно, LLM и мультимодальные модели уже сейчас демонстрируют впечатляющие возможности и при этом относительно просты во внедрении. Создать простое приложение на их основе - дело нескольких строк кода. Однако переход от эксперимента к стабильному и надежному решению — задача посложнее.

Как метко подметил Мэтт Тёрк: если в 2023 году мы боялись, что GenAI нас погубит, то в 2024-м мечтаем хоть как-то приручить его и запустить в "мелкосерийное производство".

Если вы уже успели создать свои первые LLM-приложения и готовы вывести их на новый уровень, эта статья для вас. Мы рассмотрим 17 продвинутых RAG-техник, которые помогут избежать типичных ошибок и превратить ваш прототип в мощное и стабильное решение.

Пристегните ремни, мы отправляемся в увлекательное путешествие по миру AGI! Вместе мы:

Поймем, как система отличает ценную информацию от информационного шума;

Разберемся, как правильно подготовить данные для LLM;

Выясним, можно ли строить цепочки из нескольких LLM;

Поймем, как направлять запросы через разные компоненты системы.

Приятного прочтения(:

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

Как мы разрабатывали помощника программиста: кейс MTS AI

Level of difficultyMedium
Reading time9 min
Views1.3K

Привет, Хабр! Последние два года разработчики-исследователи MTS AI  создавали помощника программиста, который называется Kodify. В этой статье мы расскажем о работе над этим продуктом и его функционале.   Этот пост — адаптация доклада с конференции True Tech Day 2.0. Его запись можно посмотреть здесь.

Читать далее
Total votes 8: ↑7 and ↓1+11
Comments1

Стилизуем модуль материалов для Joomla в стиле новостных порталов

Level of difficultyMedium
Reading time3 min
Views411

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

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

Кратко о KAN для самых неподготовленных

Level of difficultyEasy
Reading time5 min
Views5.4K

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

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

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

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

Так вот суть KAN сводится к переносу акцента с “активации нейронов” к активации “связей” между ними. 

Конечно, сами связи никуда не деваются, но. Теперь вместо обычных весовых отношений между нейронами – мы получаем обучаемые функции активации – связываем нейроны B-spline’ами. Веса – это такие числовые коэффициенты, которые определяют уровень активации нейронов. Больше вес – сильней сигнал.

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

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

Поднятие Redis сервера: Полное руководство

Level of difficultyEasy
Reading time5 min
Views2.9K

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

Сегодня я расскажу вам:

Читать далее
Total votes 11: ↑2 and ↓9-7
Comments3

Когда проснулся и узнал, что существуют PWA

Level of difficultyEasy
Reading time8 min
Views13K

Всем привет. Меня зовут Антон, я фронтендер в Сбере. Если вы ещё не осваивали технологию PWA, но хотели бы — или вдруг срочно понадобилось, — то я вам помогу и объясню, что это и как начать с ней работать. 

Читать далее
Total votes 30: ↑27 and ↓3+32
Comments14

Революционный подход к нейросетям: рассказываем про KAN (Kolmogorov-Arnold Networks)

Level of difficultyMedium
Reading time12 min
Views14K

Эволюция архитектуры нейронных сетей уходит корнями в фундаментальные работы, заложенные в 1940-х годах Уорреном Маккаллохом и Уолтером Питcом, которые предложили концепцию искусственных нейронов и их взаимосвязь. 

Однако значительные прорывы произошли только в 1980-х годах с разработкой алгоритмов обратного распространения ошибки: алгоритм Геоффри Хинтона и других – все это позволило создавать более глубокие нейронные сети и улучшить методы обучения. 

В это время появились классические архитектуры, многослойные перцептроны (MLP,  и сверточные нейронные сети (CNN), которые революционизировали различные области, включая компьютерное зрение, обработку естественного языка и распознавание образов – теперь мы говорим про своего рода инновационную архитектуру. 

Читать далее
Total votes 26: ↑24 and ↓2+26
Comments9

Рекрутинговый ад или как я в Канаде IT работу искал

Level of difficultyEasy
Reading time8 min
Views82K

Привет. Мне 32 года, идентифицирую себя как Middle Frontend Developer. У меня почти 7 лет опыта работы, из которых только три я считаю релевантными, где я работал с современными технологиями типа React, TypeScript, GraphQL и т.д. До этого работа заключалась в разработке сайтов с использованием JQuery.

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

Читать далее
Total votes 156: ↑149 and ↓7+177
Comments527

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория

Level of difficultyEasy
Reading time3 min
Views21K

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

Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore "не игнорирует" .env. Причем спокойно "игнорирует" другие файлы, директории.

Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env, то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?

Читать далее
Total votes 56: ↑38 and ↓18+26
Comments64

Машинное обучение в браузере

Reading time9 min
Views3.8K

Меня зовут Алексей, сегодня мы с вами поговорим, как можно ускорить вычисления машинного обучения веб приложения с помощью WASM, WebGL или WebGPU.

Когда фронтенд‑разработчик слышит о машинном обучении в браузере, первое, что приходит ему на ум, это вопрос: «Как это может быть применено? Мы же работаем в браузере на JS, который, как известно, медленный (по сравнению с компилируемыми языками)».

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

Используем REM для адаптива: комфортная резиновая вёрстка для всех устройств

Level of difficultyEasy
Reading time3 min
Views12K

Все верстальщики рано или поздно сталкивались с болью, которая заключается в адаптиве сайта под различные устройства. Существуют разные технологии, упрощающие подгонку размеров под определённые устройства, например, clamp(). Эта функция удобна, так как позволяет минимизировать использование брейкпоинтов, но у неё есть свои недостатки:

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

Оптимизация Go: как повысить скорость и эффективность кода

Level of difficultyMedium
Reading time9 min
Views5.6K

Привет, Хабр! Меня зовут Макс, я Go-разработчик в компании SimbirSoft. Язык Go (Golang) стремительно набирает популярность, он всё чаще внедряется в существующие программные решения, а также встречается в стеке новых проектов. Высокая производительность и скорость работы – его главные преимущества, поэтому для реализации бизнес-задач он подходит как нельзя кстати. Go легко поддерживается и отлично годится для создания MVP, из-за чего востребованность в нём растёт.

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

Мы начинаем!

Go ⏩
Total votes 11: ↑10 and ↓1+9
Comments8

Как я написал для своей команды бот-напоминалку на Golang и втрое сократил время на ревью задач

Level of difficultyEasy
Reading time9 min
Views5.3K

Привет, Хабр! На связи Кирилл Веркин. Вообще, я занимаю в СберМаркете должность Senior QA, но ради большей производительности команды стал немного кодером.

Эта статья может быть интересна тем, кто замечает, что задачи в команде часто теряются, и хочет автоматизировать процесс напоминалок. Я делюсь кодом, поясняя ключевые моменты для таких же новичков в Go. Мой код написан для сочетания GitLab, Jira и Mattermost (корпоративный мессенджер, которым мы пользуемся в СберМаркете), но подобное решение можно реализовать и с другими сервисами.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments21

День защиты (от) детей: подборка игр от семейки айтишников

Level of difficultyEasy
Reading time8 min
Views7.8K

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

Каждое воскресение мои мечты отоспаться разбиваются о детскую непосредственность дочери Кати:

— Пап, ты можешь со мной поиграть?! — тормошит она чуть свет и, скорее, требует, чем просит.

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

Этот бой проигран ещё до начала. Морфей в ужасе бежал от Кати, и я его понимаю. Дочь уже не даст покоя. Она будет «папкать» и натурально прыгать по тебе, пока не получит своё.

Чтобы в следующие выходные было чуть легче, на неделе я придумываю разные активности. Одни помогают сделать ребёнка «самозанятым» хотя бы на 10-15 минут, а другие достаточно просты, чтобы играть в них даже не до конца проснувшимся. Вот некоторые из них в помощь молодым родителям.

Прямоугольники

Для этой игры понадобится листок в клеточку, 1-2 кубика и пара карандашей (фломастеров) разных цветов. Ещё желательно приготовить ручку, чтобы нагляднее записывать цифры. Сама игра отдалённо похожа на «тетрис», только все фигуры — прямоугольники. 

Перед началом игры отмечаем на листке игровое поле произвольного размера, например 24 на 32 клетки. Затем два игрока по очереди рисуют прямоугольники. Их размер задаётся выпавшими цифрами на кубиках как длины сторон в клетках. 

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

Читать далее
Total votes 23: ↑22 and ↓1+25
Comments9

Шпаргалка для создания идеального промпта LLM

Level of difficultyEasy
Reading time10 min
Views10K

Большие языковые модели могут производить любую последовательность символов на каком угодно языке в любом формате данных (включая языки программирования, аудио и видео). Соответственно и качество этой последовательности может быть самым разным. Иногда мы получаем многословные запутанные объяснения с галлюцинациями и устаревшими знаниями, а иногда ― элегантную функцию на Python решающую сложную задачу,  идеальное название для бренда, а скоро и первую серию будущего бестселлера. Более того, модель может надёжно и точно ответить на миллионы вопросов ваших клиентов, сопоставить запросы из сотен позиций с многотысячным каталогом, самостоятельно обработать заявки по страховым искам, обучить робота или перебрать новые патентные заявки в поисках конфликтов со старыми. Однако чтобы полностью реализовать потенциал LLM, необходимо научиться мастерски давать им подсказки. А как это делать, я расскажу в этой статье.

Читать далее
Total votes 32: ↑32 and ↓0+44
Comments18

Что такое Универсальный решатель проблем — программа из 1955 года

Reading time8 min
Views20K
Когда Герберт Саймон и Алан Ньюэлл в 1955 году начали придумывать Logic Theorist, понятия «искусственный интеллект» ещё не существовало.

Правда, на семинаре, где впервые прозвучало это определение, их разработки приняли с изрядной долей скепсиса, совершенно не разглядев, что данная программа — это на практике ровно то, что было придумано в теории.

А потом они решили сделать ещё более крутую штуку — программу, которая сможет решить любую проблему, поставленную перед людьми. Они назвали её GPS — General Problem Solver. По идее, у них должен был получиться разумный электронный советчик, который точно знает, как лучше всего поступить в сложной ситуации из серии «аккумулятор на машине разрядился, а вам срочно нужно отвезти ребёнка в детский сад». Ну или дать ответ на главный вопрос жизни, Вселенной и всего такого.

Но вот получилось вообще не то.

image
«Ты только посмотри, что GPS предлагает нам сделать!»
Читать дальше →
Total votes 37: ↑37 and ↓0+55
Comments10

Глубокое погружение в дочерние шаблоны Joomla

Level of difficultyMedium
Reading time6 min
Views894

Вы когда-нибудь вносили изменения в файлы шаблонов только для того, чтобы обнаружить, что все, что вы изменили, исчезло при следующем обновлении? Тогда у нас для вас хорошие новости: начиная с Joomla 4.1 эта проблема решена. Благодаря возможности создавать дочерние шаблоны, добавленные в ядро, вы можете вносить изменения, которые сохранятся в системе без риска потери данных. В этой статье объясняется, как это работает.

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

Как перевести деньги из России в страны СНГ в мае 2024 года

Level of difficultyEasy
Reading time5 min
Views7K

Сколько денег можно перевести за границу

В течение одного месяца со своего счета в российском банке на свой зарубежный счет можно перевести не более $1 млн или эквивалентную сумму в другой иностранной валюте. Этот лимит распространяется также на переводы средств другому человеку за границу. Изначально ограничение составляло $10 тыс., затем его увеличили до $50 тыс.

Нерезиденты из дружественных и недружественных стран, работающие в России по трудовым или гражданско-правовым договорам, могут дополнительно сверх лимита:

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

Читать далее
Total votes 10: ↑4 and ↓6+2
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Yerevan, Yerevan, Армения
Date of birth
Registered
Activity