Привет, Хабр! Сегодня давайте поговорим о том, как современные вычисления на GPU стали более гибкими и эффективными благодаря различным форматам чисел с плавающей запятой (FP64, FP32, FP16, BFLOAT16 и FP8). Эти форматы не просто числа — за каждым из них стоит конкретная область применения. В разных ситуациях мы сталкиваемся с задачами, где важны либо скорость, либо точность, и правильно выбранный тип floating point помогает оптимизировать ресурсы. Давайте разберём всё это на примерах и поймём, в каких задачах каждый из этих форматов будет наиболее полезен.
Пользователь
Шаблоны проектирования для баз данных
Существуют различные шаблоны проектирования облачных сервисов. Про тот же Sidecar или Ambassador, я думаю, слышали многие. Шаблоны предназначены для решения определенных задач и те два шаблона, о которых речь пойдет в сегодняшней статье, тоже нужны для конкретной задачи — работы с базами данных.
СУБД является неотъемлемой частью хоть сколько‑нибудь серьезного современного приложения. Соответственно, при проектировании приложения может возникнуть вопрос, как лучше сервисам взаимодействовать с базой данных: предоставляя общий доступ к одной базе или же у каждого микросервиса должна быть своя база данных. Мы рассмотрим два шаблона, предназначенных для решения данной задачи — это Shared database и Database per Microservice. Начнем с Shared database.
Пять книг про NLP, с которых можно начать
Всем привет! Меня зовут Валентин Малых, я — руководитель направления NLP-исследований в MTS AI, вот уже 6 лет я читаю курс по NLP. Он проходит на платформе ODS, а также в нескольких университетах. Каждый раз при запуске курса студенты спрашивают меня про книги, которые можно почитать на тему обработки естественного языка. Поскольку я все время отвечаю одно и то же, появилась идея сделать пост про мой список книг, заодно описав их.
Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем
Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.
Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата.
Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом Amvera Cloud. Нам нужно будет подготовить файлы приложения, написать код, создать файл с настройками (можно сгенерировать на сайте или скопировать мой код), а затем доставить файлы на сервис. Для доставки можно использовать встроенный терминал или GIT, используя стандартные команды PUSH/PULL.
Но прежде чем мы погрузимся в код, давайте кратко обсудим, что такое вебсокеты и как они работают в контексте FastApi.
50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение
Всем привет! A/B тестирование уже давно стало стандартом в проверке гипотез и улучшении продуктов в X5. Но, как ни странно, многие из «модных» техник, которые применяются в A/B тестировании, на самом деле, не что иное, как вариации старой доброй линейной регрессии.
Основная идея здесь проста: правильное добавление новых переменных в модель помогает лучше контролировать внешние факторы и уменьшать шум в данных. Это позволяет точнее оценить эффект от воздействия и объединить разные статистические подходы, которые обычно рассматриваются отдельно. Но почему это работает? Почему всё сводится к тому, что добавление переменных помогает объединить, казалось бы, разрозненные техники?
Чтобы разобраться в этом, для начала вспомним основы линейной регрессии, после чего перейдём к различным статистическим методам снижения дисперсии и покажем, как они сводятся к линейной регрессии. Затем объединим все техники вместе и на примере покажем, как они работают на практике.
Разработка Telegram-бота для управления файлами и заметками с помощью Aiogram 3 и асинхронной SQLAlchemy
Привет, друзья! Сегодня я представляю вам новую практическую статью, посвященную разработке телеграм‑ботов с использованием фреймворка Aiogram 3. В этот раз мы сосредоточимся на практической стороне вопроса и уже к концу статьи напишем своего, достаточно функционального, бота.
Для полного погружения желательно, чтобы вы уже имели базовые знания Python, были знакомы с фреймворком Aiogram 3 (на моем Хабре уже есть около 15 публикаций, в которых я подробно разбираю создание телеграм‑ботов с нуля на этом фреймворке), а также имели общее представление о базах данных, в частности SQLite, и их интеграции с Python.
Что мы будем делать сегодня?
Сегодня мы создадим телеграм-бота для хранения заметок и файлов. Мы будем использовать фреймворк Aiogram 3 для разработки, а базу данных SQLite с асинхронным движком aiosqlite для хранения данных. Наш бот будет иметь следующий функционал:
1001-ый способ миграции на асинхронный Python
Если вы пишите на Python, то наверняка давно хотите все свои сервисы переписать на asyncio. Вот и я хотел, но не из‑за того, что стильно‑модно‑молодёжно, а потому что уже болело.
Об одном таком кейсе я и расскажу, а заодно поделюсь интересным подходом и готовой реализацией.
Python: как переменные работают на самом деле? Погружаемся в байткод и C
Привет! Меня зовут Никита Соболев, я core-разработчик языка программирования CPython, а так же автор серии видео про его устройство.
Сегодня я хочу рассказать, как на самом деле работают переменные в CPython.
Под катом куча кишков питона и видео на 46 минут с дополнительными кишками питона (ни один настоящий питон не пострадал при написании данной статьи).
Программирование — это вообще не просто!⠀
Привет, Хабр!
Идея статьи появилась, когда я начал повсюду замечать якобы подтверждения мифа, что «программирование — это просто».
В новостях «восьмилетняя девочка, которая второй раз в жизни занимается программированием, наклепала чат-бота за 45 минут» (ага, да!).
Курсы предлагают мне за 10 месяцев с нуля стать миддл+ (ага, да!).
Но я-то знаю, как оно на самом деле. Мы, программисты, обычно решаем проблемы и двигаемся дальше, но я решил запротоколировать всё как есть, и в течение пары месяцев скрупулёзно записывал всю ту хрень, что происходила со мной и моими коллегами, чтобы показать программирование без прикрас. Поехали!
Pet-проекты и данные для Data-Engineer
При изучении дата‑инжиниринга часто возникает вопрос: «откуда брать данные?»
В данной статье вы узнаете про крутые инструменты, которые позволят вам создавать свои pet‑проекты c использованием разнообразных данных.
Как адаптировать терминальные отчёты pytest под свои интересы
Всем хорош pytest, но его терминальный вывод можно сделать ещё полезней. Наверняка для этого есть готовые плагины и даже фреймворки. Но можно сделать и самостоятельно. А попутно разобраться в хуках и создании плагинов, увидеть основы ООП в действии и по достоинству оценить открытость кода pytest.
Параметризованные тесты в Pytest: обзор с примерами
Хотите сделать процесс тестирования более эффективным и покрыть больше случаев с меньшим количеством кода? Тогда параметризованные тесты в Pytest — именно то, что вам нужно. В этой статье мы разберёмся, как с помощью параметризации можно существенно ускорить и упростить тестирование вашего приложения.
Цепи Маркова в Telegram-боте
Привет, меня зовут Александр и я жёсткая самоучка в области искусственного интеллекта (ИИ). 5 лет назад я задался целью создать сильный искусственный интеллект (СИИ).
Думаю, стоит начать с того, как я создал бота для Телеграма с цепями Маркова.
Полноценный API на Django REST Framework: легкая разработка, автодокументация и быстрый деплой
Сегодня мы погрузимся в процесс создания собственного API на Django с использованием мощного инструмента — Django REST Framework (DRF). Этот фреймворк предоставляет полный набор инструментов для разработки API: маршрутизация, сериализация данных, обработка запросов и формирование ответов. DRF значительно упрощает взаимодействие с клиентами через HTTP, поддерживая такие методы, как GET, POST, PUT и DELETE.
Однако, в отличие от FastAPI, Django REST Framework не включает встроенный инструмент для автодокументирования API. Мы легко решим эту задачу, воспользовавшись расширением drf‑spectacular, которое генерирует спецификации API в формате OpenAPI 3.0. Это позволит интегрировать интерфейсы, такие как Swagger и Redoc, для удобного тестирования и наглядной визуализации документации.
«Кото-физика»: объясняем термины квантовой физики на простых и забавных примерах
Решили составить для вас алфавит квантовых терминов. Чтобы было проще и веселее, добавили немного котиков. Приятного чтения!
А
Алгоритмы (квантовые)
Алгоритмы, использующие принципы квантовой физики для решения задач на квантовых компьютерах более эффективно, чем на классических. В офисе это можно сравнить с использованием новых, нестандартных способов решения проблем, которые на первый взгляд выглядят необычно, но доказывают свою эффективность, как поведение вашего кота, который находит необычные способы забавы.
Алгоритм Гровера
Допустим, вы ищете потерянный документ, который ваш коллега, торопясь уйти с работы пораньше, случайно засунул в папку из ста файлов. На классическом компьютере вам нужно просмотреть каждый файл, один за другим. Совсем не весело, согласитесь! С алгоритмом Гровера вы сможете обойтись всего лишь за √N проверок, то есть в вашем случае, вместо 100 проверок, вам нужно будет проверить лишь около 10 файлов.
Алгоритм Дойча
Представьте себе, что у вас в офисе есть два кота. Иногда вам нужно понять, кто из котов более активен - один кот может быть постоянно в действии (сбалансированный), а другой кот может быть ленивым и спокойным (константный). В классическом подходе вам придётся задавать каждому коту вопрос о его активности, чтобы выяснить отличия.
Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.2 — узлы получения данных)
Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".
В первой части лекции мы узнали, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. В этой - разберем, что такое Seq Scan
, Bitmap Heap Scan
, Index Scan
и почему Index Only Scan
бывает нехорош.
Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2) и слайды.
А/Б тестирование: множественная проверка гипотез
Хабр, привет! Сегодня обсудим, как проверять много гипотез в одном эксперименте. Разберёмся, почему растут вероятности ошибок. Познакомимся с метриками множественного тестирования и поправками, которые позволяют их контролировать. Узнаем, как оценить необходимый размер групп и повысить чувствительность.
Мини-гайд по отправке сообщений из Google Таблицы или базы данных с Python
В этом материале расскажем, как автоматизировать отправку сообщений-уведомлений по данным из таблицы.
Kaggle Mercedes и кросс-валидация
Всем привет, в этом посте я расскажу о том, как мне удалось занять 11 место в конкурсе от компании Мерседес на kaggle, который можно охарактеризовать как лидера по количеству участников и по эпичности shake-up. Здесь можно ознакомиться с моим решением, там же ссылка на github, здесь можно посмотреть презентацию моего решения в Yandex.
В этом посте пойдет речь о том, как студент консерватории попал в data science, стал призером двух подряд kaggle-соревнований, и каким образом методы математической статистики помогают не переобучиться на публичный лидерборд.
Начну я с того, что немного расскажу о задаче и о том, почему я взялся ее решать. Должен сказать, что в data science я человек новый. Лет 7 назад я закончил Физический Факультет СПбГУ и с тех пор занимался тем, что получал музыкальное образование. Идея немного размять мозг и вернуться к техническим задачам впервые посетила меня примерно два года назад, на тот момент я уже работал в оркестре Московской Филармонии и учился на 3 курсе в Консерватории. Начал я с того, что вооружившись книгой Страуструпа стал осваивать C++. Далее были конечно же разные онлайн курсы и примерно год назад я стал склоняться к мысли о том, что Data Science — это пожалуй именно то, чем я хотел бы заниматься в IT. Мое “образование” в Data Science — это курс от Яндекса и Вышки на курсере, несколько курсов из специализации МФТИ на курсере и конечно же постоянное саморазвитие в соревнованиях.
Зачем в iPhone чип, который убивает FaceID
Разбирался я в низкоуровневой работе камер iPhone, и дошёл до FaceID — системы распознавания лиц, используемой Apple для разблокировки смартфона. И наткнулся внутри на интересную вещь: чип, единственное предназначение которого в том, чтобы вывести из строя FaceID. Навсегда.
О том, как в iPhone вообще работает FaceID, где там этот чип стоит, что именно он делает, зачем его сделали таким злым, и как в ремонте справляются с этой напастью — под катом!
Информация
- В рейтинге
- Не участвует
- Откуда
- Украина
- Дата рождения
- Зарегистрирован
- Активность