Как стать автором
Обновить
9
0
Иркин Шариев @Irkin

Руководитель проектов

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

Как я превратил обычный бизнес в IT компанию, читая книги

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

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

Я готовился к настоящему валу звонков, ведь никто ничего похожего не предлагал.

Казалось бы, что могло пойти так?
Всего голосов 51: ↑43 и ↓8+54
Комментарии17

Как сделать идею стартапа понятной для инвестора и вас самих: Lean Canvas

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Git. Руководство по оформлению веток и коммитов

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

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

Познать истину
Всего голосов 17: ↑15 и ↓2+13
Комментарии16

Plane-based геометрическая алгебра для описания движения тел

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

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

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

Руководство по написанию промптов

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


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

В 2011 году в одной своей публикации Марк Андриссен предупредил: «Программы поглощают мир». Спустя более десятка лет мы наблюдаем появление нового типа технологий, которые поглощают мир с ещё большей скоростью: генеративный искусственный интеллект. Этот инновационный искусственный интеллект включает в себя уникальный класс больших языковых моделей (англ. large language models, LLM), созданных в результате десятилетия новаторских исследований, которые способны превзойти человека в решении определённых задач. И вам не нужно иметь докторскую степерь в области машинного обучения, чтобы создавать программы с использованием LLM. Разработчики уже создают программы с LLM, используя базовые HTTP-запросы и промпты на естественном языке.

В этой статье мы расскажем о работе GitHub с LLM, чтобы помочь другим разработчикам узнать, как лучше использовать эту технологию. Статья состоит из двух основных частей: в первой мы высокоуровнево расскажем о том, как функционируют LLM и как создавать приложения на основе LLM. Во второй части мы рассмотрим пример такого приложения: автодополнение кода от GitHub Copilot.
Читать дальше →
Всего голосов 17: ↑15 и ↓2+15
Комментарии0

Выбор данных, малые языковые модели и причём здесь Шмидхубер

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

Большие языковые модели — это хорошо, но интересно, можно ли получить сравнимое качество на малых моделях. Вести диалог с GPT-2 не получится, а тем более написать диплом или научную статью. Она и другие small language models (SLM) по большей части выдают слабый текст, даже если обучить их на всей Википедии.  

Возможно, тут стоит вспомнить теорию Шмидхубера, который, как известно,  всё придумал

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

Cross-Encoder для улучшения RAG на русском

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

Одно из самых прикладных применений языковых моделей (LLM) - это ответы на вопросы по документу/тексту/договорам. Языковая модель имеет сильную общую логику, а релевантные знания получаются из word, pdf, txt и других источников.

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

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

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

Главное - мы натренируем свой кросс-энкодер на русском языке, что служит важным шагом на пути улучшения качества Retrieval Augmented Generation (RAG). Тренировка будет проходит новейшим передовым способом. Схематично он изображен на меме справа)

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

Одномерный лес и все прочее

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

Объяснение «на пальцах» и реализация решающего дерева, случайного леса и бустинга.

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

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

Раскладываем Git по полочкам: терминология

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

Первый раз столкнулись с Git и не понимаете, что это такое?

Устали бездумно выполнять серию комманд чтобы закинуть свой проект на GitHub?

Хотите понять, чем отличается merge, rebase, push и pull?

Надоело видеть ошибку о non fast-forward merge и не понимать, что с этим делать?

Сейчас попробуем разобраться в этом всем.

Поехали!
Всего голосов 16: ↑16 и ↓0+16
Комментарии10

Semantic BPM. Семантика и синтаксис бизнес-процессов

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

Онтологический инжиниринг в области Управления бизнес-процессами (BPM). Семантический BPM (Business Process Management), впрочем, как и семантический ЕА (Enterprise Architecture), – это заимствование концепций (подходов к описанию и онтологизации) \ инструментов Linked Data к указанным направлениям (формализация процессов и архитектур предприятий).

«Красная нить»: когда мы формализуем процессы - мы говорим об одном и том же, но на разных языках (нотациях), поэтому стандартизация Языка семантики, онтологических концептов BPM (EA) – важная, но еще недостаточно популяризированная составляющая развития BPM (следующий этап, ВРМ 3.0). Отделение («мух от котлет») семантики от синтаксиса позволит «рафинировать» понятийный (смысловой) анализ бизнес-процессов и при их аналитике оперировать базовыми (семантическими) концептами (образами). 

В Semantic BPM, как и в Semantic Web (семантическая паутина), смысл представленного процесса \ архитектуры понятен не только человеку, но и машинам и они могут его читать и обрабатывать. Эти смыслы, обычно передаваемые «человек – человек» на языке синтаксиса / графической грамматики через нотации VAD, EPC, BPMN, UML (плюс еще несколько десятков подобных вариантов \ форматов «обертывания», включая Дракон), исходно формализуются на языке семантики (стек Linked Data или аналогичный) и уже потом упаковываются в схемы с конкретной нотацией («пишутся» на языке какой-либо нотации). Для единого понимания смысловой составляющей схем применяется общая ВРМ-онтология, толковый словарь ВРМ. 

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

Как языковая модель предсказывает следующий токен (часть 1)

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

Я обучил небольшой (порядка 10 миллионов параметров) трансформер по превосходному туториалу Let’s build GPT: from scratch, in code, spelled out Андрея Карпати. После того, как он заработал, я захотел максимально глубоко понять, как он устроен внутри и как создаёт свои результаты.

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

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

Если вы знакомы с трансформерами и хотите сразу узнать вывод, то он таков: каждый блок трансформера (содержащий слой многоголового внимания и сеть с прямой связью) изучает веса, связывающие конкретный промт с классом строк, найденных в обучающем корпусе. Распределение токенов, соответствующее этим строкам в обучающем корпусе, и есть приблизительно то, что блок выводит как прогноз для следующего токена. Каждый блок может ассоциировать один и тот же промт со своим классом строк обучающего корпуса, что приводит к другому распределению следующих токенов, а значит, и к другим прогнозам. Окончательный результат работы трансформера — это линейное сочетание прогнозов каждого блока.

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

Merlion Framework или как упростить работу с временными рядами

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

Единственная причина для существования времени — чтобы все не  случилось одновременно.

Альберт Эйнштейн

Привет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и отличия от аналогов, разберём пару практических примеров, а также посмотрим, как всё считать и на какие метрики стоит обращать внимание.

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

Временной ряд – это набор данных, описывающих изменения какой-либо переменной во времени. 

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

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

Лучшие видеокарты за свои деньги, которые можно купить для игр в 2024 году

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

Выбор видеокарты — дело личное. Кому-то нравятся бренды, кто-то хочет сэкономить. Некоторым нравится, чтобы видюха светилась. Мы сегодня расскажем, какие видеокарты есть в наличии в разных ценовых категориях. И если вы ищете себе GPU или хотите посоветовать что-то друзьям, под катом — разбор актуального ассортимента XCOM-SHOP.

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

О мат-нотациях и Машинах Тьюринга

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

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

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

Построить МТ
Всего голосов 6: ↑6 и ↓0+6
Комментарии16

Алгебра смысла

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

Пшеничников С.Б.

Знаковые последовательности (например, вербальные и нотные тексты) можно превратить в математические объекты. Слова и числа стали одной сущностью, представлением матричной единицы, которая является матричным обобщением целых чисел и гиперкомплексным числом. Матричная единица — это матрица в которой один элемент равен единице, а остальные — нули.

Если слова текста представить такими матрицами, то конкатенация (объединение с сохранением порядка) слов и текстов становится операцией сложения матриц.

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

Человек видит и слышит только то, что понимает (И. В. Гёте). Понимает то, чему придает смысл как значимости для него. Смысл субъективен и зависит от интересов, мотиваций и чувств.

Л. С. Выготский различал понятия «смысл» и «значение»: «если „значение“ слова является объективным отражением системы связей и отношений, то „смысл“ — это привнесение субъективных аспектов значения соответственно данному моменту и ситуации».

По Г. Фреге «значения» — это свойства, отношения объектов, «смысл» — это только часть этих свойств. При этом и «значения» и «смысл» именуются одним «знаком», например словом. Два человека могут из списка значений выбрать для одного слова два непересекающихся фрагмента (два смысла) для его толкования.

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

RabbitMQ как способ масштабирования ML проекта

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

Данная статья будет полезна тем кто хочет расширить свой учебный (или даже рабочий) ML пет-проект добавлением новой технологии.

Весь код в статье написан для OpenSource проекта по детекции синтетического текста raisontext в рамках курса ML System Design от ODS.

Показать больше
Всего голосов 6: ↑4 и ↓2+4
Комментарии4

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

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

Родился я в одном городе, позже переехал жить в другой. В родном городе остался ПК, который стоит без дела. В один прекрасный день решил я из него сделать многофункциональную удаленную машину: чтобы и кодить, и файлы хранить, и сайты/ботов хостить. Идея мне понравилась, я накатил на машину линукс, поставил все валявшиеся без дела диски и начал все это проверять. Но тут оказалось, что в родительском доме интернет тариф не поддерживает возможность установки статического IP адреса по умолчанию - адрес выдается провайдером в случайные моменты времени. Это означало, что я не мог, например, хостить какой-нибудь сервер на этой машине. Более того, я даже банально не мог к ней по SSH подключиться после смены ее адреса.

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

Читать далее
Всего голосов 63: ↑26 и ↓37-3
Комментарии100

Локальные GPT нейронный сети — устанавливаем на домашнем ПК, запускаем и проверяем на адекватность аналоги ChatGPT

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

Есть много LLM нейронных сетей, создатели которых говорят, что они аналогичны, а может даже лучше ChatGPT версий 3.5 и 4.0. Давайте попробуем протестировать их, установив их на локальный компьютер, чтобы понять, действительно ли они так хороши.

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

Начинаем продолжать: обработка исходников с помощью ИИ в оффлайне

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Зарегистрирован
Активность