Pull to refresh
5
0
Send message

Пишем GPT в 60 строк NumPy (часть 1 из 2)

Level of difficultyMedium
Reading time16 min
Views77K

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →

Пишем чат-бот для работы с PDF

Reading time7 min
Views9.9K

Популярность языковых моделей, в частности ChatGPT, растет в геометрической прогрессии, но многие из нас все еще сталкивается с определенными ограничениями, такими как устаревшая информация, которые OpenAI пока что не смогла преодолеть.

Но задумывались вы над тем, чтобы задавать вопросы непосредственно из своих документов, хранящихся в облаке? Сохраните своё время, которое уходило бы на поиски и ручной мониторинг сайтов, и задействуйте автоматизацию при работе с PDF-документами. Если вас занимает такая перспектива, эта статья окажется для вас ценным ресурсом.

Мы можем избежать риска недостоверных данных в ChatGPT, внедрив работу модели через RAG. В нашем материале мы подробно объясним, как создать чат-бота для взаимодействия с документами из вашего хранилища с помощью LangChain.

Приступим (:

Читать далее

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views504K

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

Погнали →

Настоящее предназначение OpenAI SORA: как и зачем симулировать «Матрицу» для ChatGPT

Level of difficultyMedium
Reading time41 min
Views108K

Ну что, уже успели прочитать восхищения небывалым качеством видео от нейросетки SORA у всех блогеров и новостных изданий? А теперь мы вам расскажем то, о чем не написал никто: чего на самом деле пытается добиться OpenAI с помощью этой модели, как связана генерация видео с самоездящими машинами и AGI, а также при чем здесь культовая «Матрица».

Войти в симуляцию →

Как провести фаззинг REST API с помощью RESTler

Reading time7 min
Views5.9K

Привет, Хабр! С вами Владимир Исабеков, руководитель группы статического тестирования безопасности приложений в Swordfish Security. Современная разработка программного обеспечения требует не только функционального, но и безопасного API. Сегодня мы расскажем, как провести фаззинг-тестирование API c помощью инструмента RESTler, имея на руках только спецификацию API. Статья написана в соавторстве с нашим инженером по безопасности, Артемом Мурадяном @TOKYOBOY0701.

Читать далее

Cache API — кэшируем данные на стороне клиента

Level of difficultyMedium
Reading time6 min
Views12K

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

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

Читать далее

Рынок труда и перспективы карьеры в Data Science в 2024 году

Level of difficultyEasy
Reading time8 min
Views20K

На связи команда курсов Data Science OTUS. В данной статье Product Manager Мария Кузьмина собрала аналитические выкладки c hh, бизнес-секреты от Tinkoff и комментарии профессионалов о том, что они думают о специфике рынка труда в Data Sciencе/ML, а также какой стек нужен для разных позиций. 

Согласно прогнозу американской консалтинговой компании Gartner, мировые расходы на информационные технологии в 2024 году увеличатся на 8% и составят порядка 5,1 трлн долларов. Это говорит об очередном повышении спроса на ИТ-специалистов в мире и росте профильных вакансий на рынке труда. А среди языков программирования 1‑е место в области Data Science / ML Engineering занимает Python.

На российском рынке труда, есть хорошие новости для кандидатов из возрастной группы 35+. Ситуация в России в 2023 году характеризовалась значительным дефицитом кадров, который связывают в том числе с последствием демографического спада 90-ых годов. Уровень дефицита достиг максимальных значений за всю историю наблюдений, с hh.индексом опустившимся до 3,1 пункта​​. Количество вакансий увеличилось на 76% по сравнению с началом 2021 года, в то время как число резюме за этот же период выросло всего на 15%​​. Рекрутеры прогнозируют и рекомендуют компаниям расширять привычную воронку найма и смотреть на кандидатов вне определенных негласных стереотипов даже в ИТ сегменте.  

Средняя зарплата российского специалиста по Data Science / ML enginer / Аналитика-разработчика варьируется от 115 до 180 тысяч рублей, причем джуниоры зарабатывают от 60 до 80 тыс. руб., миддлы — от 100 до 250 тыс. руб., а синьоры — от 250 тыс. руб. и выше. Ведущие специалисты с опытом около 5-6 лет могут зарабатывать до 400-500 тыс. рублей в месяц. 

Комментарии экспертов отрасли

С новым годом: GPT в 500 строках на SQL

Reading time42 min
Views41K

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.

Читать далее

Собираем автономную игру на C# в 2 килобайтах

Level of difficultyMedium
Reading time11 min
Views22K

Моё детство пришлось на эпоху 1,44-мегабайтных дискет и 56-килобитных модемов, поэтому я всегда любил маленькие программы. Раньше можно было записать на дискету кучу мелких игр и таскать её с собой. Если программа не помещалась на дискету, я задумывался, почему — в ней много графики? Есть музыка? Возможно, она выполняет много сложных операций? Или она просто раздута?

В наши дни дисковое пространство стало настолько дешёвым, что люди отказались от оптимизации по размеру.

Размер важен только при передаче: если вы передаёте программу по проводам, мегабайты равны секундам. По быстрому соединению на 100 Мбит в лучшем случае можно передать 12 МБ в секунду. Если на другом конце провода находится человек, ожидающий завершения скачивания, то разница между пятью и одной секундой может существенно повлиять на его ощущения.

Человек может зависеть от времени передачи как напрямую (пользователь, скачивающий программу по сети), так и косвенно (serverless-сервис, отвечающий на веб-запрос).

Люди обычно воспринимают всё, что длится меньше 0,1 секунды, как мгновенное, 3 секунды — это примерно тот предел, после которого прерывается состояние потока пользователя; а уж 10 секунд удержать внимание пользователя очень сложно.

Хотя уменьшение сегодня уже необязательно, оно всё равно лучше.

Эта статья задумывалась как эксперимент, позволяющий выяснить, каким может быть минимальный размер полезного автономного исполняемого файла C#. Могут ли приложения на C# достичь размеров, при которых пользователи будут ощущать их скачивание как мгновенное? Позволит ли это использовать C# там, где он не используется сейчас?
Читать дальше →

В поисках аномалии: одноклассовая классификация текстов с помощью расхождения Кульбака—Лейблера

Level of difficultyMedium
Reading time9 min
Views3K

Привет, Хабр! На связи участница профессионального сообщества NTA Корсакова Елена.

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

Читать далее

GPT-like модель «впервые сделала научное открытие»: что, как, и куда дальше?

Level of difficultyMedium
Reading time21 min
Views115K

14го декабря в одном из самых авторитетных общенаучных журналов Nature была опубликована статья с, кажется, сенсационным заголовком: «ИИ-модели Google DeepMind превосходят математиков в решении нерешённых проблем». А в блогпосте дочки гугла и вовсе не постеснялся указать, что это — первые находки Больших Языковых Моделей (LLM) в открытых математических проблемах. Неужели правда? Или кликбейт — и это в Nature? А может мы и вправду достигли техносингулярности, где машины двигают прогресс? Что ж, давайте во всём разбираться!

Ну давай разберёмся →

Моя любимая задача для собеседований по программированию

Level of difficultyMedium
Reading time9 min
Views104K

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →

Клонирование голоса из музыки, удаление движимого текста из видео и новые фишки во второй части обновления Wunjo AI

Level of difficultyEasy
Reading time5 min
Views8K

Привет, Хабр! Наконец, после множества бессонных ночей, я завершил работу над второй частью обновления open-source проекта Wunjo AI и воплотил своё видение приложения. В этом обновлении основное внимание уделено звуку: улучшено клонирование голоса, извлечение вокала или мелодии из песен и повышение качества речи. Но это не все, также появились новые функции для работы с видео и создания дипфейков. Давайте рассмотрим все по порядку: начнем с звука и перейдем к видео и дипфейкам. В конце статьи вы найдете ролик, в котором объясняется работа с видео в приложении и функционирование нейронных сетей для создания дипфейков и не только.

Если вам интересно, вы можете прочитать предыдущие статьи на Хабре о создании дипфейков в Wunjo AI и функциях работы с дипфейками и изменениями видео с помощью текста.

Давайте начнем с звука. Одной из основных задач во второй части обновления была работа над звуком. Изначально в Wunjo AI использовалась адаптированная версия Real Time Voice Cloning, но подход был полностью переработан, что привело к улучшенной версии клонирования голоса. Теперь я использую кодировщик, обученный на аудиоматериале через Real Time Voice Cloning, в сочетании с HuBERT Soft. Этот метод позволяет точнее копировать скорость и тембр речи на этапе синтеза звука и перед работой вокодера. Кроме того, на основе исходного аудио, очищенного от шумов, определяется пол голоса (мужской или женский), а затем настройки вокодера подбираются в соответствии с типом голоса.

Однако эта статья сконцентрирована на более простых аспектах без технических деталей. Давайте взглянем на процесс клонирования голоса в Wunjo AI.

Посмотрим, что там внутри!

M5Stack Cardputer: миниатюрный ПК с ESP32-32, клавиатурой и беспроводным модулем за $30. Что это за устройство?

Reading time3 min
Views28K

В мире немало производителей ноутбуков и десктопов, буквально каждую неделю появляются новые модели. Но есть и разработчики весьма специфических устройств, которые можно использовать для решения очень широкого спектра задач. Одно из таких устройств — M5Stack Cardputer. Его размеры лишь немногим отличаются от размера кредитки (длина/ширина), но возможностей действительно много. Подробности — под катом.

Читать далее

Как получить работу в области Data Science? 8 простых шагов

Level of difficultyEasy
Reading time10 min
Views19K

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

Читать далее

Помог себе, помоги другому: мой опыт менторства в IT

Reading time5 min
Views5.4K

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

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

Читать далее

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию

Level of difficultyMedium
Reading time11 min
Views87K

Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в себе простоту реализации и безопасность для приложений.

В интернете есть много разных материалов с объяснением, что такое JWT и как им пользоваться. Но большинство примеров ограничиваются выдачей токена для пользователя. В этой статье я хочу рассказать не только о том, что такое JWT, но и как можно реализовать работу с access и refresh токенами и решить сопутствующие проблемы. Будет немного теории и много практики. Присаживайтесь поудобнее, мы начинаем.

Путеводитель:

Что такое JSON Web Token?
Использование и реализация
Простая реализация JWT
Access и refresh tokens
Как отозвать токены
Доступ с нескольких устройств
Удаление старых данных
Резюмируем

Читать далее

6 инструментов для продвижения стартапа на международном рынке

Reading time5 min
Views3.5K

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

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

Читать далее

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Level of difficultyEasy
Reading time6 min
Views25K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее

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

Level of difficultyHard
Reading time14 min
Views42K

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

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


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

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Software Architect
Senior