Обновить
39
sysprg@sysprg

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

42
Подписчики
Отправить сообщение

Создаем I2C Master Controller на Verilog. Переходим на новый уровень

Уровень сложностиСредний
Время на прочтение40 мин
Охват и читатели9.5K

Наконец-то нашлось вдохновение и время вернуться к старой статье, в которой я изобретал I2C Master Controller, но так и не довел задачу до логического конца. Спустя почти три года много воды утекло, появилось множество возможностей и ряд компетенций и я хотел бы реанимировать решение этой задачи и продолжить рассказ. Перечитав старый материал, я сформулировал обновленную группу задач: переделать I2C Master Controller, снабдив его функциями, которых не было в первой версии, типа clock stretching и burst-режима при этом сопроводив это детальным описанием процесса реализации и объяснением почему были предприняты те или иные действия. После все это воплотить сначала в симуляции, а потом и на реальном железе, с использованием EEPROM и OLED-дисплея SSD1306.

Вобщем, всем неравнодушным к теме цифровой схемотехники, ПЛИС и шине I2C - добро пожаловать под кат! :)

Читать далее

Скрытая цена LLM: как KV-cache увеличивает стоимость инференса и как эту проблему решает Google TurboQuant

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.4K

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

В основе этой проблемы лежит KV-cache. Пример: у LLaMA 2 7B веса занимают около 14 ГБ, но при контексте 8K токенов KV-cache весит уже примерно 4 ГБ. Всего при четырех параллельных запросах это около 16 ГБ.

Это и есть скрытая цена инференса, которая не так очевидна на первый взгляд.

Читать далее

Царский путь к пониманию комплексных чисел. Часть I

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

Представьте, что вам сказали: «Этого не существует, просто запомни».

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

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

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

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

В этом цикле из 7 статей мы пройдем полное путешествие от парадоксов Кардано до квантовой физики и современной инженерии — с философией, историей и практикой.

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

Читать далее

Теорема Пифагора: великий обман школьной программы. Как абстракция убила смысл

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

Все мы знаем эту формулу. a^2 + b^2 = c^2.

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

Но задавали ли вы себе когда-нибудь вопрос: почему именно квадраты?
Почему не кубы? Почему не просто сумма модулей |a| + |b|?

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

Сегодня мы разберем этот «черный ящик» и увидим, что теорема Пифагора — это вовсе не про треугольники. И доказывать её нужно совсем не так, как нас учили.

Школьная программа не дает ответа. Более того, история преподавания теоремы Пифагора — это история того, как живую, наглядную геометрию превращали в сухую, мертвую алгебру. Нас уводили всё дальше от понимания сути в сторону абстракции.

Сегодня мы разберем этот путь деградации и покажем доказательство, которое вернет вас к реальности. Спойлер: теорема Пифагора — это не про треугольники. Она про зеркала.

Приготовьтесь к полному разрыву всех шаблонов!

Читать далее

Когда дифференциальных уравнений очень много

Уровень сложностиСложный
Время на прочтение2 мин
Охват и читатели16K

Из курса дифференциальных уравнений многие наверняка помнят теоремы существования и единственности для систем обыкновенных дифференциальных уравнений (ОДУ). Не пересказывая учебники, напомню лишь неформально, как выглядит эта задача по существу.

Дана система ОДУ с начальными условиями:

Читать далее

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

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

Когда вы пишете loss.backward() в PyTorch, ваш autograd делает то, что 200 лет считалось математической ересью: оперирует бесконечно малыми как настоящими числами.

В 1960 году Абрахам Робинсон формализовал эту «ересь» в виде нестандартного анализа.

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

Читать далее

Дорогой защитный аппарат: тревога, одиночество и статусная гонка как цена «я»

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

Борис Поршнев и Джулиан Джейнс работали независимо в 1970-х и пришли к похожему выводу: внутреннее «я» — позднее историческое образование, а не биологическая данность. У Поршнева оно собирается в зазоре между суггестией и контрсуггестией — как точка сопротивления чужой команде. У Джейнса — как лексическая инфраструктура самоописания, изобретённая после распада «голосов богов». В современных терминах та же структура переписывается через shared intentionality, epistemic vigilance и source-monitoring. Что происходит, когда между двумя людьми встаёт LLM-посредник — суггестия без суггестора, которой в поршневской модели не предусмотрено? Контрсуггестивный middleware простаивает, материал сборки «я» исчезает, а гонка переезжает на уровень инфраструктуры. Разбор того, что именно мы пытаемся защитить от ИИ — и нужно ли.

Читать далее

Лузеры следуют рецептам, победители строят систему: учимся собирать секси-еду по принципу LEGO

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

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

Я построила систему, которая решает эту задачу.

Привет, я Тоня. Несколько лет назад я ушла из IT в гастрономию: веду канал, хожу на воркшопы шефов в Лондоне, стала завсегдатаем Le Cordon Bleu и учу готовить так, чтобы даже самый уставший айтишник мог собирать блюда как это делают в ресторанах. 

Погнали разбираться!

Читать далее

Чем заменить сахар? Большой гайд по альтернативам и сахарозаменителям

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

Сироп агавы, эритрит, стевия, мальтит и ещё десяток сахарозаменителей — что из этого действительно работает? Что выбрать, если у вас диабет или вы хотите отказаться от сахара? И правда ли шоколадка «Sugar-free» действительно без сахара и углеводов?

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

Читать далее

Взрыв чёрной дыры ожидается в ближайшие 10 лет

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

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

При этом остаётся открытым ряд вопросов о природе ЧД, в том числе о зарождении первичных чёрных дыр (ПЧД). Как их много вокруг, сколько среди них сверхмалых ЧД размером с атом, насколько они опасны для человека, для Земли и Солнца.

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

Читать далее

Распределение плотности воздуха по высоте

Уровень сложностиСложный
Время на прочтение2 мин
Охват и читатели7.7K

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

Читать далее

Игра на разведку. Как игроки Pokémon Go научили дроны видеть

Время на прочтение6 мин
Охват и читатели9K

Pokémon Go – одна из самых популярных и прибыльных мобильных игр в истории.

- Больше 1 млрд скачиваний
- 230 млн активных пользователей в пике
- 6 млрд $ выручки
- И 30 млрд отсканированных объектов по всему миру

Только все это хоть и яркая, но ширма. Прикрытие основной деятельности, которой занималась компания Niantic в своих недрах.

И результаты этой скрытой деятельности впечатляют. Сегодня разработчики Pokémon Go уже не развлекают детишек ловлей покемонов. Они учат боевых дронов ориентироваться на местности в условиях радиоэлектронной борьбы, глушилок и спуфинга. Без участия оператора.

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

Какой путь прошел главный герой-основатель Джон Ханке. И какую роль в этом сыграло ЦРУ и Google – далее в материале.

Читать далее

Ловим время в формате DCF77

Время на прочтение9 мин
Охват и читатели16K

В комментариях к "серверу точного времени" (https://habr.com/ru/articles/1023414) предлагали вдобавок к NTP и GPS подключить еще и DCF77, как еще один источник времени.
И я таки сделал это, хоть и в виде отдельной железки, а поскольку техника тут аналоговая - были свои нюансы.

В качестве справки:
DCF77 - это радиостанция, передающая точное время от атомных часов, собственно, это ее основное назначение.
Расположена в Европе, в Германии, неподалеку от Франкфурта. Вещает на длинных волнах на всю Европу, захватывая в том числе часть exUSSR. Передает сигнал, содержащий информацию о времени и дате, UTC+1/UTC+2 в зависимости от "летнего времени".
Также передает местную погоду и может быть использована как средство оповещения, но нас это мало касается.
Рабочая частота 77.5 кГц - поэтому и "DCF77".

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

Проблема простая: расстояние.
Несмотря на большую мощность передатчика и хорошее распространение длинных волн на большие расстояния - 2000 км это 2000 км.

Читать далее

Оптика в техническом зрении. Лекция 4: Разрешающая способность

Уровень сложностиСредний
Время на прочтение53 мин
Охват и читатели5.7K

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

Меня зовут Андрей, я – специалист по оптическим системам, расчётчик и конструктор в одном лице.

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

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

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

Читать далее

Цифровая физика — это «Матрица» или еще нет?

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.9K

Когда-то давно, в журнале «Наука и Жизнь», я наткнулся на игру «Эволюция» Джона Конвея — и влюбился в нее с первого взгляда.

Никакой игры там, строго говоря, нет. Есть бесконечная сеточка. Каждая клетка сетки либо жива, либо мертва. Каждый ход применяем три простых правила: клетка с двумя или тремя живыми соседями выживает; пустая клетка с тремя живыми соседями оживает; все остальные клетки умирают. И всё.

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

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

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

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

Читать далее

Как бы я рассказал про линейную регрессию (если б меня кто-то спросил)

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

Привет, Хабр! Если вам когда‑либо хотелось разобраться в том как работает линейная регрессия, или хочется освежить в памяти основные моменты без необходимости продираться через разрозненные источники, то прошу под кат. Это не статья "от начинающего для начинающих". Экстра лонгрид — писал больше года. Статья концептуальная, а концептов пять: 1) ключевой повествовательный компонент — визуализации (их около сотни), текст — вспомогательный; 2) анимации везде где только можно (их всего 34); 3) простота — достаточно знаний со школьного курса математики чтобы начать читать; 4) воспроизводимость — подавляющее большинство медиаматериалов сгенерированы при помощи Python а исходный код выложен в open‑source и, самый главный, 5) фокус на практике, — например, если упоминается векторная запись метода наименьших квадратов, значит она в нарративе решает возникшую боль читателя

Читать далее

Рейтрейсер на JavaScript

Время на прочтение8 мин
Охват и читатели22K
TitleImage

Знаете ли вы что такое рейтрейсер? Это программа которая рисует трёхмерную сцену на экране так, как её бы увидели вы. Конечно, не совсем так, но некоторые рейтрейсеры умеют рисовать очень правдоподобные картинки, например как в "Аватаре".

Идея рейтрейсера очень простая и в этой статье я раcскажу как устроен этот алгоритм и даже напишу его на JavaScript. Картинки и пример прилагаются.

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

Трёхмерная графика с нуля. Часть 1: трассировка лучей

Время на прочтение42 мин
Охват и читатели145K
image


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

В этой работе мы сосредоточимся не на скорости, а на чётком объяснении концепций. Код примеров написан наиболее понятным образом, который не обязательно является самым эффективным для реализации алгоритмов. Есть множество способов реализации, я выбрал тот, который проще всего понять.

«Конечным результатом» этой работы будут два завершённых, полностью рабочих рендереров: трассировщик лучей и растеризатор. Хотя в них используются очень отличающиеся подходы, при рендеринге простой сцены они дают схожие результаты:


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

Трассировка лучей на GPU в Unity

Время на прочтение16 мин
Охват и читатели23K
Для трассировки лучей (ray tracing) настали удивительные времена. Компания NVIDIA реализует ускоренное с помощью ИИ шумоподавление, Microsoft объявляет о нативной поддержке в DirectX 12, а Питер Ширли продаёт свои книги по свободной цене (pay what you want). Похоже, что трассировка лучей наконец получила шанс быть принятой при дворе. Возможно, говорить о начале революции ещё слишком рано, но уже определённо стоит начать изучать и накапливать знания в этой области.

В этой статье мы напишем с нуля в Unity очень простой трассировщик лучей с помощью compute shaders. Скрипты мы будем писать на C#, а шейдеры — на HLSL. Весь код выложен на Bitbucket.

В результате у нас получится отрендерить нечто подобное:

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

Объяснение фильтра Калмана в картинках

Время на прочтение9 мин
Охват и читатели64K
image

Я обязан рассказать вам о фильтре Калмана, потому что он выполняет просто потрясающую задачу.

Как ни удивительно, о нём, похоже, знают немногие разработчики ПО и учёные, и это печалит меня, потому что это очень обобщённый и мощный инструмент для объединения информации в условиях присутствия неопределённости. Иногда его способность извлечения точной информации кажется почти магической, а если вы думаете, что я слишком много болтаю, то взгляните на это видео, в котором я показываю, как фильтр Калмана определяет ориентацию свободно плавающего тела, посмотрев на его вектор скорости. Потрясающе!
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность