Как стать автором
Обновить
34
245

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

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

Реальность обладает поразительным числом деталей

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

Мой отец эмигрировал из Колумбии в Северную Америку, когда ему было 18. Сделал он это в поисках лучшей жизни. Для меня и моего брата это значило — проводить много времени на уличном холоде. Отец выбрал путь улучшения своей судьбы через улучшение того, что его окружает. Меня и брата «добровольно» завербовали в помощники по работам над принадлежащими нам постройками.

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

Читать далее
Всего голосов 38: ↑36 и ↓2+46
Комментарии70

Пишем «Змейку» в 12 строк кода на PyTorch

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

Давайте рассмотрим, как использовать линейную алгебру и тензорные операции, чтобы создать всем известную игру в 12 строк.

Будем использовать PyTorch и NumPy. Можно было использовать даже какую-то одну из библиотек, но у PyTorch прекрасное Tensor API, а в NumPy есть хорошая функция под названием unravel_index, которую мы и будем использовать.

Читать далее
Всего голосов 25: ↑24 и ↓1+31
Комментарии26

Эмбеддинги для начинающих

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

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

В широком смысле, эмбеддинг - это процесс преобразования каких-либо данных (чаще всего текста, но могут быть и изображения, звуки и т.д.) в набор чисел, векторы, которые машина может не только хранить, но и с которыми она может работать. Звучит очень интересно. Казалось бы, наша речь - это так просто, все связано и понятно. Но как это объяснить машине?

В этой статье мы рассмотрим, что такое эмбеддинги и какие они бывают.

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 181: ↑177 и ↓4+207
Комментарии21

PFGM++: буст генеративных моделей с применением электростатики

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

Новая ступень в развитии диффузионных генеративных моделей ИИ, и новая возможность создавать собственные изображения в 10 раз быстрее, чем раньше. Это стало реальным благодаря удачной попытке совместить знания об электростатике и принципу функционирования привычных нам диффузионных моделей. Так, исследователям из MIT CSAIL удалось воплотить в жизнь инновационную модель PFGM ++, которая по последним данным значительно превосходит своих предшественниц.

Какова физическая природа PFGM ++, и как ее использовать на практике – давайте разбираться далее вместе.

Приятного прочтения!

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

Обратная нормализация (денормализация)

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

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

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

Но, как и все в этом мире, нормализация не идеальна. Иногда она может привести к чрезмерной комплексности и снижению производительности запросов. И здесь бывает полеза обратная нормализация. Если нормализация - это упорядочивание, то обратная нормализация - это некоторое "ослабление" правил для достижения определенных целей. В БД это означает объединение таблиц, добавление избыточных данных и так далее, чтобы ускорить чтение данных и упростить запросы, даже если это идет в ущерб некоторой "чистоте" схемы.

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

«Возрождение» больших данных, оптимизация инференса LLM и новинки от AMD

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

Привет, Хабр! В новом выпуске собрал для вас полезные материалы, которые помогут лучше разобраться в темах ML, искусственного интеллекта и дата-аналитики. Вы узнаете, какие Ops-практики входят в систему MLOps, как выбрать СУБД для анализа данных и как построить платформу для DS/ML-разработчиков. Еще больше полезных материалов — в Telegram-сообществе «MLечный путь».
Читать дальше →
Всего голосов 21: ↑19 и ↓2+27
Комментарии1

Dropout и Batch normalization

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


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

Dropout и Batch Normalization очень хороши в оптимизации процесса обучения и борьбе с одной из основных проблем ml — переобучением.
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии4

Toolchain в Go

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

Привет, коллеги! В Го toolchain (цепочка инструментов) это не просто buzzword, а реальная рабочая фича. Если вы провели немало времени, погружаясь в дебри кода и модулей, вы знаете, что каждая строчка и каждый пакет как и в любом япе имеют свое место и значение.

Цепочка инструментов или toolchain (тулчейн звучит покруче) используются для создания, тестирования, отладки и управления вашими Go-проектами.

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

Shadow Dom в fullstack

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

Shadow DOM – это нечто вроде дополнения к обычному DOM, позволяющее инкапсулировать стили и разметку компонентов, скрывая их от основного дерева документа. Это механизм, который позволяет упаковать HTML-структуру, стили и скрипты в изолированные компоненты.

Shadow DOM обеспечивает инкапсуляцию — значит, CSS и JavaScript могут работать в рамках конкретного компонента, не влияя на остальную часть страницы. Это решает проблему "глобальной области видимости", с которой сталкиваются многие разработчики, и позволяет создавать более предсказуемые и устойчивые веб-приложения.

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

Рекомендации по ведению SQL-кода

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров20K
В этом материале разберем общие рекомендации по ведению SQL-кода на примере СУБД MS SQL (T-SQL). Однако, многие пункты можно также применить и к другим СУБД.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+47
Комментарии382

Nota, Typst и Evidence. Языки программирования для генерации документов

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


Все настолько привыкли к Markdown, что считают его неким стандартом для оформления документов в вебе. Но это не конечная истина, высеченная на камне, а просто популярный язык разметки, как HTML и TeX.

В то же время появляется всё больше новых языков, которые позиционируют себя как замену, альтернативу или дополнение к Markdown и TeX. В некоторых случаях они включают функции программирования, то есть позволяют добавить в документ исполняемый код. Веб-редакторы нового поколения можно использовать даже вместо Google Docs.
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии4

Коротко про платежи через ботов в Telegram

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

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

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

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

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

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

Это база: нюансы работы с Redis. Часть 1

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

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

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

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

Какую библиотеку на Python выбрать для создания телеграм-бота?

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

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

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

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

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

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

Работа с временными рядами в Python. Часть 2

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


Добро пожаловать во вторую часть нашей серии статей "Работа с временными рядами в Python." В первой части, мы ознакомились с основами работы с временными рядами и научились анализировать и визуализировать их. Теперь мы переходим к более продвинутым аспектам этой увлекательной темы.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+21
Комментарии3

Инженерный калькулятор на C++. Часть 1: Токенизатор математических выражений

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

Всем привет! Сегодня хочу поделиться опытом написания консольного инженерного калькулятора, который может посчитать выражение вроде (log2(18)/3.14)*sqrt(0.1*10^(-3)/0.02)

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

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

Работа с временными рядами в Python. Часть 1

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


Аналитика данных стала неотъемлемой частью современного бизнеса и научных исследований. И одним из ключевых аспектов анализа данных являются временные ряды. Эффективная работа с временными рядами играет критическую роль в прогнозировании, стратегическом планировании и принятии решений в различных отраслях.

Временные ряды — это наборы данных, где каждая точка данных связана с определенным моментом времени. Это может быть что угодно, от ежедневных финансовых показателей до ежечасных кликов на веб-сайте или даже месячных показателей погоды. Зачем нам это нужно? Потому что временные ряды предоставляют нам ценную информацию о том, как меняются данные со временем.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+21
Комментарии2

Как я упростил свою работу тестировщика

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


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

Так, сначала я решил поискать готовые решения, которые могли бы облегчить мне работу. После нескольких часов поиска, который не дал особого результата, мне пришла идея: почему бы самому не создать такое приложение? После этого я пошел искать библиотеку, которая позволила бы мне реализовать задуманное и здесь время потраченное на поиск окупило себя: я нашел библиотеку keyboard — в первое время мне не требовалась графическая оболочка, достаточно было того, что оно запускается прямо из VSCode.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+19
Комментарии6

Как выбрать свое направление в аналитике?

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

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

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

Информация

В рейтинге
10-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность

Специализация

Инженер по данным
Средний
От 300 000 ₽
SQL
Python
Базы данных
Английский язык
PostgreSQL
Git