Pull to refresh
0
@tts_minionread⁠-⁠only

User

Send message

Как выработать интуитивное понимание логарифмов

Level of difficultyHard
Reading time14 min
Reach and readers56K

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

Зачем этому учиться?


Для меня способность вычисления логарифмов от руки — крайне нужный навык. Количество концепций, которые мы храним в рабочей памяти, ограничено, поэтому логично будет освоить максимально много концептуальных строительных блоков. Развив в себе хорошее интуитивное понимание логарифмических выражений, вы будете ощущать себя бесконечно увереннее в работе с уравнениями, включающими в себя логарифмы, и сможете справляться с уровнем сложности, который раньше считали немыслимым. А ещё они будут меньше пугать или отвлекать вас, когда встретятся в каком-то другом контексте.
Читать дальше →

Как LinkedIn масштабировал поиск людей на 1,3 млрд пользователей

Level of difficultyEasy
Reading time5 min
Reach and readers6.4K

LinkedIn запускает обновлённый поиск людей на базе генеративного ИИ — и делает это спустя, казалось бы, удивительно долгую паузу для функции, которая напрашивалась сама собой. Появление новой системы происходит три года спустя после выхода ChatGPT и через полгода после запуска ИИ-поиска вакансий в LinkedIn.

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

Читать далее

Сбер выкладывает GigaChat Lite в открытый доступ

Level of difficultyMedium
Reading time18 min
Reach and readers19K

Салют, Хабр! В начале ноября мы делились с вами новостями о нашем флагмане GigaChat MAX и пообещали рассказать подробнее о процессе создания наших Pretrain-моделей. Пришло время сдержать слово и даже пойти дальше! 

Предобучение больших языковых моделей — это одна из наиболее ресурсозатратных стадий, которая непосредственно влияет на весь дальнейший процесс обучения GigaChat. От успешности обучения Pretrain-модели напрямую зависит качество всех следующих этапов обучения, например, Alignment и Vision. Поэтому сегодня мы хотим поделиться весами младшей модели линейки GigaChat версий base и instruct. Модель называется GigaChat-20B-A3B, так как построена на перспективной МоЕ-архитектуре!

Но и это ещё не всё. Вместе с весами мы делимся с сообществом улучшенной реализацией DeepSeek МоЕ, а также кодом для механизма концентрации (а что это такое — читайте дальше ;)). Важно отметить, что хотя GigaChat-20B-A3B обучался на триллионах токенов преимущественно русского текста, он ещё способен на хорошем уровне понимать другие языки. Так что мы делимся мультиязычной моделью. О том, как запускать модель, какие версии доступны и как пользоваться контролируемой генерацией с помощью механизма концентрации, расскажем прямо сейчас!

Узнать что такое MoE

Эффективные Large Language Models: от линейного attention к гибридным архитектурам, наши результаты и выводы

Level of difficultyMedium
Reading time16 min
Reach and readers8.6K

Квадратичная сложность и линейно растущий KV cache в классическом механизме внимания, используемом в современных LLM, — серьёзная преграда для обработки экстремально длинных контекстов, особенно в условиях ограниченной видеопамяти на GPU. В этой статье мы рассмотрим различные варианты Linear Attention (линейного внимания) и техники дистилляции LLM в субквадратичные варианты механизма внимания. Мы также расскажем о наших экспериментах с GigaChat и поделимся примером получившейся гибридной модели с линейным вниманием, сделанной на основе Llama-8B.

Читать далее

GPT или GigaChat — ответит RAGAS

Reading time8 min
Reach and readers7.8K

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

Читать далее

Настройся на RAGAS и настрой RAGAS под себя

Level of difficultyHard
Reading time12 min
Reach and readers5.2K

Не секрет, что RAG (Retrieval-Augmented Generation) сейчас является распространённой техникой использования Больших Языковых Моделей (LLM) в вопросно-ответных системах. Ну а где есть ML-модели, там есть и оценка качества. О том, как оценивать RAG-модели и автоматизировать этот процесс под свою задачу, вы прочитаете в данной статье.

Читать далее

Установка и настройка Nexus Sonatype используя подход infrastructure as code

Reading time18 min
Reach and readers162K

Sonatype Nexus – платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение.


Зачем нужен Sonatype Nexus?


  • Для хранения приватных артефактов;
  • Для кеширования артефактов, которые скачиваются из интернета;
Читать дальше →

Префиксное дерево (trie)

Reading time3 min
Reach and readers32K

В этой статье обсудим такую структуру данных, как «префиксное дерево» (оно же нагруженное дерево, бор, trie, prefix tree). Кратко рассмотрим основы и реализуем наиболее важные операции: вставку, поиск по ключу и префиксный поиск.

Читать далее

Внутри vLLM: Анатомия системы инференса LLM с высокой пропускной способностью

Level of difficultyHard
Reading time34 min
Reach and readers9.4K

Привет! Этот пост — перевод очень хардовой статьи про внутренности vLLM и того, как устроен инференс LLM. Переводить было сложно из-за англицизмов и отсутствия устоявшегося перевода многих терминов, но это слишком классная статья, и она обязана быть на русском языке! А дальше — слово автору:

От paged attention, непрерывного батчинга, кэширования префиксов , specdec и т.д. — до мульти-GPU и мультинодового динамического сервинга LLM под нагрузкой.

В этом посте я постепенно представлю все основные системные компоненты и продвинутые функции, которые составляют современную систему инференса LLM с высокой пропускной способностью. И детально разберу, как внутри работает vLLM.

Читать далее

Семантический поиск: от простого сходства Жаккара к сложному SBERT

Reading time10 min
Reach and readers41K

В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, автор переходит к поиску с разреженными векторами — TF-IDF и BM25 и заканчивает современными представлениями плотных векторов и Sentence-BERT. Простые примеры сопровождаются кодом и иллюстрациями, а в конце вы найдёте ссылки на соответствующие блокноты Jupyter.

Читать далее

Как правильно писать код с Cursor? Смотрим, как тот устроен внутри

Level of difficultyEasy
Reading time6 min
Reach and readers38K

Главная цель исследования — выяснить, как же писать промпт для получения наилучших результатов, а также понять, как правильно выстроить сам рабочий процесс. Чтобы найти ответы на эти вопросы, пришлось глубоко погрузился в то, что Cursor делает за кулисами, по ту сторону. Оказывается, сама структура промпта Cursor многое говорит и о том, как он работает, и о том, как настроить его для максимальной отдачи.

Ниже — шаги, которые я предпринял для перехвата запросов и изучения их структуры. В конце — основные выводы о правильном составлении промпта.
Читать дальше →

B-Tree индекс и его производные в PostgreSQL

Reading time18 min
Reach and readers82K

Меня зовут Азат Якупов, я люблю данные и люблю использовать их в разных задачах. Сегодня хочу поделиться своим опытом относительно B-Tree индексов в PostgreSQL. Рассмотрим их топологию, синтаксис, функциональные B-Tree индексы, условные B-Tree индексы и включенные B-Tree индексы.

Читать далее

Структура данных B-дерево

Reading time5 min
Reach and readers86K
Всем привет! Мы запустили новый набор на курс «Алгоритмы для разработчиков» и сегодня хотим поделиться интересным переводом, подготовленным для студентов данного курса.



В деревьях поиска, таких как двоичное дерево поиска, AVL дерево, красно-чёрное дерево и т.п. каждый узел содержит только одно значение (ключ) и максимум двое потомков. Однако есть особый тип дерева поиска, который называется B-дерево (произносится как Би-дерево). В нем узел содержит более одного значения (ключа) и более двух потомков. B-дерево было разработано в 1972 году Байером и МакКрейтом и называлось Сбалансированное по высоте дерево поиска порядка m (Height Balanced m-way Search Tree). Свое современное название B-дерево получило позже.
Читать дальше →

T-Pro 2.0 — открытая гибридно-ризонинговая русскоязычная LLM

Level of difficultyHard
Reading time9 min
Reach and readers10K

Всем привет! На связи Толя Потапов, MLE в Т-Банке. Мы продолжаем развивать собственную линейку моделей GEN-T и внутренние продукты на основе своих моделей: агенты в саппорте, внутренние копилоты для сотрудников и Вселенную ассистентов.

Мы уже делились большими языковыми моделями T-lite 0.1, T-lite 1.0 и T-pro 1.0. Модели завоевали популярность и скачиваются суммарно более 15к раз в месяц. 

Сегодня делимся новой моделью T-pro 2.0, обученной на основе модели Qwen3 32B, но с более плотной токенизацией на русском языке. Модель поддерживает гибридный ризонинг и позволяет сгенерировать рассуждение перед тем как отвечать. Это помогает в сложных задачах, где требуется несколько последовательных выводов, таких как математика. 

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

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

Читать далее

GigaChat 2.0 в API

Level of difficultyMedium
Reading time14 min
Reach and readers16K

Салют, Хабр! Время летит незаметно. Будто совсем недавно мы знакомили вас с GigaChat MAX, но мы не стоим на месте и сегодня готовы представить вам обещанный апгрейд. За полгода мы значительно улучшили обучающие данные, поработали над инфраструктурой обучения моделей, а также уделили особое внимание всему процессу Alignment-а, в том числе RLHF. 

Представляем вам GigaChat 2 — полностью обновлённую линейку моделей в версиях Lite, Pro и Max. Все модели серьёзно улучшены: мы обновили pretrain’ы, улучшили большинство метрик по сравнению с предыдущими версиями, добавили поддержку контекста в 128 тысяч токенов, улучшили вызовы функций, и в целом повысили понимание инструкций. 

GigaChat 2 — не просто сухие числа и технические улучшения. Теперь это надёжный помощник в повседневных задачах. Например, он легко оформит отчёт для работы, напишет чистый и эффективный код, поздравит с днём рождения или даст мудрый совет. Мы уверены: с ним вы сможете делать больше, быстрее и лучше как на работе, так и в жизни. Попробуйте GigaChat 2 уже сейчас в Playground — пользовательском интерфейсе для продвинутой работы с промптами!

GigaChat 2

AGI: от идеи к реализации, часть 3: архитектура трансформер и идеи для улучшения

Level of difficultyMedium
Reading time11 min
Reach and readers1.2K

Для понимания структуры и процессов в AGI системе, давайте рассмотрим решения на текущий момент: LLM - большая языковая модель, архитектура трансформер.

Трансформер представляет собой преобразователь текста: входной текст преобразуется в наиболее вероятный токен (часть слова) предсказанный моделью.

Информация основана на подробном разборе кода трансформера GPT2 и DeepSeekV3.

Подробная формула:

Input - вход или промпт.

Tokens = Tokenize(Input),

Output = Ptokens = Attention(Tokens) + FeedForward(Tokens).

Здесь мы видим что преобразование задается функцией! Т.е оно линейно. Наиболее вероятный токен затем выбирается с помощью случайного значения если задана температура. Т.е здесь случайность влияет в конце и только на выбор токена. Поэтому температура при больших значениях может иметь непредсказуемый результат. Внутри функции Attention: есть матрицы Wq, Wk, Wv и FeedForward: Wa, Wb которые подбираются таким образом чтобы ошибка предсказанного значения имела минимальное значение. Как это делается? Мы видим что само преобразование задается математической функцией и задача в том чтобы найти такие значения матриц чтобы результирующая функция потерь LOSS имела меньшее значение чем текущее. Как же это делается? Это называется backpropagation и вычисляется через градиент функции. Для этого все слои Attention, FeedForward представляются в виде вычислительного графа который называется TensorFlow.

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

Читать далее

NER для начинающих: Простое объяснение с примерами на SpaCy

Level of difficultyEasy
Reading time11 min
Reach and readers7.9K

В этой статье мы подробно рассмотрим распознавание именованных сущностей (Named Entity Recognition, NER) и его применение на практике. Простым и доступным языком объясним, как работает NER, приведем примеры кода с использованием библиотеки SpaCy и покажем, как обучать модели для распознавания именованных сущностей. Эта статья поможет вам быстро освоить основы и начать применять NER в своих проектах!

Читать далее

Использование графов знаний при разработке RAG-систем

Level of difficultyMedium
Reading time8 min
Reach and readers5K

Привет, Habr! На связи Александр Сулейкин, Роман Бабенко и Даниил Бутнев. Подготовили совместную статью по теме использования графов знаний при разработке RAG-систем. В рамках статьи рассказываем про основные проблемы традиционных RAG-систем, даем обзор основных открытых проектов графов знаний GraphRAG, показываем и даем краткое описание архитектуры таких систем, а также рассказываем про практическое использование графов знаний на примере трех областей - медицины, метрологии и стандартизации.

Читать далее

Руководство по CI/CD в GitLab для (почти) абсолютного новичка

Reading time13 min
Reach and readers490K

Или как обзавестись красивыми бейджиками для своего проекта за один вечер ненапряжного кодинга


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


результаты


В статье будет рассмотрена базовая настройка непрерывной интеграции и поставки для проекта библиотеки классов на .Net Core в GitLab, с публикацией документации в GitLab Pages и отправкой собранных пакетов в приватный фид в Azure DevOps.


В качестве среды разработки использовалась VS Code c расширением GitLab Workflow (для валидации файла настроек прямо из среды разработки).

Читать дальше →

Основные команды GIT

Level of difficultyEasy
Reading time23 min
Reach and readers30K

Научись использовать Git как профессионал. Эта статья поможет тебе освоить самые популярные команды Git на реальных примерах. Узнай, как добавлять изменения, создавать коммиты, переключаться между ветками, объединять изменения и синхронизировать проект с удалённым репозиторием.

ОГОГО, что там далее!? ...
1
23 ...

Information

Rating
Does not participate
Registered
Activity