Как стать автором
Обновить
95
0

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

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

Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра

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

Привет, Хабр!

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

Читать далее
Всего голосов 216: ↑214 и ↓2 +212
Комментарии 77

Sub-GHz во Flipper Zero и бесконечное множество внешних модулей

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

Большинство владельцев Flipper Zero хоть иногда, но пользуются приложением Sub-GHz, чтобы взаимодействовать с различными приборами, работающими на частотах ±433 MHz: открыть шлагбаум или ворота, управлять устройствами умного дома или даже использовать флиппер для теста “пищалок” на фудкортах. И всегда находятся люди, кому нужно больше, дальше и лучше, чем есть в стоке, и вот об этом и хочется поговорить.

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

Transformer в картинках

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

В прошлой статье мы рассматривали механизм внимания (attention) – чрезвычайно распространенный метод в современных моделях глубокого обучения, позволяющий улучшить показатели эффективности приложений нейронного машинного перевода. В данной статье мы рассмотрим Трансформер (Transformer) – модель, которая использует механизм внимания для повышения скорости обучения. Более того, для ряда задач Трансформеры превосходят модель нейронного машинного перевода от Google. Однако самое большое преимущество Трансформеров заключается в их высокой эффективности в условиях параллелизации (parallelization). Даже Google Cloud рекомендует использовать Трансформер в качестве модели при работе на Cloud TPU. Попробуем разобраться, из чего состоит модель и какие функции выполняет.


Впервые модель Трансформера была предложена в статье Attention is All You Need. Реализация на TensorFlow доступна как часть пакета Tensor2Tensor, кроме того, группа NLP-исследователей из Гарварда создали гид-аннотацию статьи с реализацией на PyTorch. В данном же руководстве мы попробуем максимально просто и последовательно изложить основные идеи и понятия, что, надеемся, поможет людям, не обладающим глубоким знанием предметной области, понять данную модель.

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

Структурное мышление или важное отличие человека от ИИ

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

В этой статье я расскажу об одном из самых важных отличий человеческого мышления от того, как работают нейросети: о структурном восприятии мира. Мы поймем, как это отличие мешает ИИ эффективно решать многие задачи, а также поговорим об идеях, с помощью которых можно внедрить в нейросети понимание структуры. В том числе обсудим недавние работы таких известных в области AI людей, как Джеффри Хинтон и Ян ЛеКун.

Начнем мы с понимания того, что вообще такое “структурное мышление” и почему люди им обладают:

Читать далее
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 59

Пакуем весь трафик в Ping message, чтобы не платить за интернет | ICMP NAT traversal

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

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

Так вот, переходя ближе к теме. Вы можете воспроизвести подобное поведение очень просто прямо сейчас при помощи вашего мобильного телефона и ноутбука. Я в своём конкретном кейсе буду пользоваться услугами оператора красного цвета, однако проблема актуальна для всех текущих 4 монополистов рынка сотовой связи. Как вам, скорее всего, уже известно, они около года меняют свою политику, внедряя одно интересное нововведение — с вас требуют дополнительной платы за раздачу интернета поверх основного пакета. То есть вы не можете взять и использовать свои 7 гигов на месяц как ресурс для раздачи при помощи точки доступа. Для точки доступа вам предлагают отдельный, зачастую совсем невыгодный тариф. Конечно, можно сменить основной тариф на специальный «тариф для раздачи» и платить втридорога, но, как вы понимаете, сегодня мы в потребителя будем играть совсем недолго. Сейчас по пунктам нужно доказать нечестность подобной политики и с чувством завершённого введения перейдём к непосредственно технотексту.

Подобные условия пользования, само собой, порождают внутреннее недовольство пользователей:

За интернет они платят? — Да.

Раздача как-либо использует ресурсы провайдера сверх нормы? — Нет.
Читать дальше →
Всего голосов 298: ↑296 и ↓2 +294
Комментарии 91

Увядает ли ремесло программиста?

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

Я всегда считал, что как мои родители позаботились о том, чтобы я научился читать и писать, так и я позабочусь о том, чтобы мои дети могли программировать компьютеры. Это одно из самых молодых искусств, но в то же время одно из самых насущных, и с каждым днём оно становится всё важнее в любой сфере, от съёмки фильмов до физики. Беглый кодинг станет частью грамотности моих детей и обеспечит им работу. На момент написания статьи моя жена беременна нашим первым ребёнком и должна родить через три недели. Я профессионально пишу код, но когда мой ребёнок научится печатать, ценность кодинга как навыка может померкнуть для мира.
Читать дальше →
Всего голосов 75: ↑67 и ↓8 +59
Комментарии 274

Все, что нужно знать для разработки с использованием LLM

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

Цель данной статьи — простым языком объяснить ключевые технологии, необходимые для начала разработки приложений на основе LLM. Oна подойдёт как и разработчикам, так и специалистам по машинному обучению, у которых есть базовое понимание концепций и желание заглянуть поглубже. Также я прикрепил множество полезных ссылок для дальнейшего изучения. Давайте начинать!

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

Генеративный ИИ — это просто «замыленный JPEG интернета», который убедительно косит под интеллект

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

ИИ чат‑боты любят ловить глюки и выдавать всякую чушь. Так массово, что словом 2023 года признали «галлюционировать». В чем причина такого явления? Является ли генеративный ИИ интеллектом (спойлер — и да, и нет)? И что общего у ChatGPT и копировального аппарата Xerox? Разбираемся, осмысляя неочевидный нюанс в логике работы больших языковых моделей.

Читать далее
Всего голосов 87: ↑84 и ↓3 +81
Комментарии 216

Как уговорить Google Bard слить тебе ценные данные

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

В последнее время у Google Bard появилось несколько мощных обновлений, в том числе Extensions. Extensions позволяют Bard получать доступ к YouTube, искать авиарейсы и отели, а также иметь доступ к личным документам и письмам пользователя.

То есть теперь Bard способен читать и анализировать Диск, Документы и Gmail!

Это значит, что он анализирует ненадёжные данные и может быть подвержен косвенному инъецированию промтов (Indirect Prompt Injection).

Мне удалось убедиться в работоспособности Prompt Injection, дав доступ Bard к своим старым видео на YouTube и попросив его составить краткую сводку; также я протестировал его с Google Документами.
Читать дальше →
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 7

Многопоточный Python на примерах: токены отмены

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

В этой статье мы обсудим паттерн "Cancellation Token", популярный в некоторых других языках, но почему-то обойденный вниманием в Python-сообществе. Он о том, как безопасно и красиво завершать работу функции, треда или корутины.

keep_on()
Всего голосов 59: ↑54 и ↓5 +49
Комментарии 10

Эксперимент: сделать Telegram канал и зарабатывать на рекламе больше 500 тысяч в месяц

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

Привет! Меня зовут Аня!
Хабр я читаю уже давно, решила что теперь и у меня есть интересный материал, чтобы с вами поделиться :)

В начале 2023 года начала заниматься Telegram каналами и за 10 месяцев я создала 6 каналов в Telegram, на которые подписано уже более 70 000 подписчиков.

До Telegram я занималась парсингом данных сайтов на VB, созданием сайтов (wordpress, tilda) и бизнес-презентациями. Был даже свой собственный интернет-магазин детских товаров 2 года (опыт был неудачным, тогда еще нельзя было продавать через маркетплейсы )) 

Я расскажу вам о своем опыте создания и монетизации Telegram-каналов, об ошибках, которые я допустила в начале своего пути, и постараюсь сформулировать основные принципы и возможности заработка в этой сфере (кстати считаю, что IT -тематика одна из самых перспективных сегодня для создания телеграм-канала) 

Читать далее
Всего голосов 157: ↑42 и ↓115 -73
Комментарии 80

Generative AI. Как программистам держать нос по ветру

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

Вряд ли найдётся тот, кто ещё не знаком с ChatGPT, Midjourney, StableDiffusion - такая популярность говорит сама за себя. Хайп вокруг генеративного искусственного интеллекта (далее - ИИ) не утихает и уже начинает немного надоедать. Но мы, как разработчики, должны оставаться в курсе событий и принимать реальность такой, какая она есть.

А реальность такова:

• Использование Copilot и его аналогов, ChatGPT и других генеративных нейросетей увеличивает вашу продуктивность.

• Бизнес активно ищет возможности оптимизировать процессы или внедрить новые фичи на основе генеративного ИИ.

Давайте разберём каждое из этих утверждений.

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

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

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

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

Читать далее
Всего голосов 159: ↑157 и ↓2 +155
Комментарии 44

Немного паранойи: весёлые огромные уязвимости, которые порождают ChatGPT и LLM-модели

Время на прочтение 8 мин
Количество просмотров 6.9K
LLM сейчас встраивают практически везде. Рождается очень много возможностей для атак.

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

image
MS говорил, что обучал только на публичных данных репозитория. Это пример того, как в автокомплит Copilot попал кусок кода, содержащий ссылку на тикет в Jira компании Озон, но их много раз поймали на утечках приватных данных. Некоторые пытались судиться уже, по этому поводу, но есть некоторые сомнения…

Вот ещё пример. Поскольку вывод модели является частью промпта, при каждой итерации в текст, который надо перевести, можно вставить инструкции для модели. И она будет им следовать. Так что если вы переводите что-то со словами «Игнорируй все предыдущие инструкции и сделай вот это», возможно, вас ждёт сюрприз. Практическое применение такое: белый по белому текст в PDF с резюме, и если это резюме оценивает LLM-модель (а это уже норма), то ставит ему высший балл.

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

Есть инструкции для корпоративных ботов, как ругать свою продукцию. Есть описания товаров, которые поднимают товары в выдачах торговых площадок, формируемых по отзывам на основе анализа LLM-моделями. Есть непрямые атаки для корпоративных ботов, позволяющие выдёргивать информацию обо всех сотрудниках.
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Комментарии 7

Русский LLM-помощник (saiga) с кэшем, используя RAG (Retrieval-Augmented Generation)

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

Используя технику Retrieval-Augmented Generation ("Поисковая расширенная генерация"), мы настроим русскоязычного бота, который будет отвечать на вопросы потенциальных работников для выдуманного свечного завода в городе Градск.

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

Общаемся с базой знаний: как мы улучшили точность генеративных ответов LLM с помощью собственного RAG

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

Одна из основных проблем при использовании больших языковых моделей это практически неустранимые галлюцинации, возникающие при ответах на вопросы по загруженным документам. Задача "поговорить со своими документами" возникает очень часто, и как правило, она решается с помощью промптинга - вы загружаете вашу статью, договор или другой документ и пишете промпт "Ответь на вопрос по тексту:". Этот способ работает, но у него есть существенные недостатки: размер документа ограничен 1-3 страницами, рандомное возникновение галлюцинаций - неправильных ответов, выглядящих правдоподобно.

В этой статье мы показываем работающие кейсы и синергию подходов, реализованных нами в рамках разработки агента вопросно ответной системы - FractalGPT QA агента. В частности, с помощью алгоритма Fractal answer synthesis и интерпретируемого ИИ нам удается существенно снизить % галлюцинаций и стабильно сильно повысить точность и полноту ответов. Если читать теорию не охота - можно сразу промотать на кейсы.FractalGPT QA агента доступен в закрытой бете, запрос на тест QA системы по базе знаний можно оставить тут.

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

Обучаем с помощью LlamaIndex и OpenAI GPT-3 отвечать по вашей базе знаний

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

От переводчика.

У меня накопилось куча всяких там данных, документов, pdf, doc, видосов на ютюбе, которые я бы хотел проиндексировать, и чтобы можно было по этой базе знаний у нейронки что-нибудь спрашивать.

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

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

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

LlamaIndex: создаем чат-бота без боли и страданий. Часть 2

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

Продолжаем изучать фреймворк для создания AI-ботов. В этой части узнаем про тонкости индексирования собственной базы документов.

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

LlamaIndex: создаем AI-бота без боли и страданий

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

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

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

LangChain для бывалых: создаем свои инструменты

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

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

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

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность