Tech Mumble – Telegram
Tech Mumble
118 subscribers
37 photos
36 links
Рома Нефёдов. Делаю всякое беспилотное, до этого делал умные устройства Яндекса и девтузлы Яндекса.

Планирую делиться околорабочими новостями и мыслями.
Download Telegram
Channel created
Человечество договорилось до компактных флоатов "AMD, Arm, Intel, Meta, Microsoft, NVIDIA, and Qualcomm Standardize Next-Generation Narrow Precision Data Formats for AI".

* Смешное название — Microscaling Formats (MX)
* Все форматы представляют собой массив из 32 чиселок с вынесенным мультипликатором
* Интересно что в мелких типах не предусмотрено Inf и NAN

https://www.opencompute.org/blog/amd-arm-intel-meta-microsoft-nvidia-and-qualcomm-standardize-next-generation-narrow-precision-data-formats-for-ai — новость
https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf — спека
Сегодня стартует ROSCon 23, выглядит как неплохой способ начать погружаться в robotics.

https://roscon.ros.org/2023/#livestream — ссылка на лайвстрим
🔥1
Попалась либа со стандартными контейнерами без динамических аллокаций от теслы — https://github.com/teslamotors/fixed-containers/

И я вот пытаюсь понять, они что ли весь код на C++ без аллокаций пишут? Не особо верится… ¯\_(ツ)_/¯

Ещё забавно, что github теслы максимально никакой, ни одной полезной опенсорс штуковины. При этом автор этой либы Sr. Staff Software Engineer at Tesla, Autopilot, судя по LinkedIn.
👀1
https://www.youtube.com/watch?v=AKMuA_TVz3A

Sutskever предлагает интересный взгляд на Unsupervised Learning как на задачу компрессии, а Kolmogorov Complexity как теоретический предел для этой компрессии.

У Scott Aaronson было хорошее объяснение почему Kolmogorov Complexity полезная абстракция.
Посмотрел keynote с bazelcon. Мне нравится, что bazel еле-еле, но становится таким стандартом де-факто для больших проектов. Грустно только что оно сильно завендерлочено, ничего не помешает гуглу через 5 лет закрыть проект, и всё загнётся.

Работают над тремя большими штуками.

* само собой пытаются выпилить поддержку С++ и Java из ядра, куда без этого
* bzlmod — перепридумали работу с внешними зависимостями, говорят давайте будем импортировать граф к себе, где-то я уже такое видел (вот так выглядит https://github.com/bazelbuild/bazel-central-registry/blob/main/modules/protobuf/3.19.6/MODULE.bazel)
* почему-то много внимания уделяют SBOM — списку зависимостей для проверки уязвимостей (https://security.googleblog.com/2022/06/sbom-in-action-finding-vulnerabilities.html)
Cruise забанили в SF, но это уже не новость, скорее интересно почему забанили сейчас за инцидент месячной давности.

Претензия к ним, что они "misrepresented information". Мне нравится версия, что они забыли выложить кусок видео.

Кстати, рекомендую NYT подкаст про рассуждения надо ли вообще разрешать беспилотники на текущем этапе развития — https://www.nytimes.com/2023/08/23/podcasts/the-daily/driverless-cars-san-francisco.html

https://getcruise.com/news/blog/2023/a-detailed-review-of-the-recent-sf-hit-and-run-incident/
https://twitter.com/Cruise/status/1716877217995894934
https://twitter.com/A_W_Gordon/status/1716892781984227384
Я верю в подход Carbon, да и Chandler внушает доверие. Пытаются сделать для C++ то, что Kotlin сделал с Java — drop-in replacement с хорошим interop-ом.

- в MVP 0.1 обещают только проработанный interop, выглядит неужасно
- в MVP 0.2 планируется заход на memory safety, но пока ничего непонятно, вероятно будет примерно как в Rust (borrow checker)
- для прозрачного interop-а активно используется clang (и очень правильно)

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

https://www.youtube.com/watch?v=1ZTJ9omXOQ0
👍1
nytimes про доставку дронами
Послушал подкаст Lex-а Fridman-а с CEO Boston Dynamics. Оч тяжко слушать с такой низкой плотностью информации.

* Boston Dynamics изначально делали симулятор, но потом вляпались в контракт с DARPA на создание собаки.
* Первая собака была на двухтактном ДВС — https://www.youtube.com/watch?v=cNZPRsrwumQ
* Раньше на эксперименты уходили годы, сейчас в симуляторе можно сделать всё за дни благодаря MPC(Model predictive control)
* Хуманоид (Atlas) скорее как R&D платформа, стоит миллион долларов, партия 1000+ штук, нужен мало где (атомные станции, fab-ы)
* Предыдущие 10 лет человечество учило роботов ходить ногами, следующие 10 лет будет учить делать что-то полезное
* Захотели сделать что-то полезное и заработать денег, так появился Stretch — роборука с колёсиками, тут вроде успех-успех
👍3
Я тут в дороге посмотрел много разных видео с Chris Lattner. Если кто не в курсе, то он сделал LLVM в рамках master thesis, делал девтулзы в Apple и там сделал Swift, потом были гугловые TPU, MLIR, TensorFlow и много всякого ещё.

Так вот, он говорит, что мир постепенно будет двигаться в сторону heterogeneous compute, т.е. системы будут состоять из всё большего числа специализированных сопроцессоров, а RISC-V поможет поджечь эту революцию.

Современные инструменты не готовы к такой модели вычислений, лучшее что есть — PyTorch. Ну и чтобы возглавить эту революцию они делают платформу — Modular и superset питона — mojo.

Заход сложный, но руки умелые, интересно будет понаблюдать.

https://nondot.org/sabre/
https://www.modular.com
👍2
Посмотрел как там дела у llvm libc

Господа придумали себе интересную задачу — реализовать libc на C++. Джастификация понятная — санитайзеры, статическая линковка, выкинуть тонны asm-а, современный язык.

Вот только из-за проблемы бутстрапа нельзя зависеть от STL и рантайма C++, т.е. не работают string, new/delete, virtual, global initialization, etc. Они не расстроились и написали свой STL…

Ещё 2-3 года планируют доделывать, и вряд ли оно окажется сравнимо по перфу с glibc сразу. А пока уже можно пытаться использовать в режиме overlay, как делает fuchsia.

libc корявая абстракция, с которой можно только смириться и вот так странно чуть-чуть улучшить, и хорошо что есть богатая компания гугл готовая за это платить

https://libc.llvm.org
Python + Zig + Rust = Mojo

Продолжая про heterogeneous compute. Один из самых интересных заходов в современном компиляторостроении — mojo. Поверх питона, с полной совместимостью со всей его экосистемой, хотят водрузить огромный и сложный superset-язык, как это было с C и С++. При этом обещают втащить в язык всё самое модное: темплейты как в zig (называют это elaboration), borrow checker как в rust, исключения похожи на zig.

Но самое главное — обещают, что можно будет generic-кодом бороть по производительности SotA системный код. Интересен способ достижения цели — разные оптимизационные проходы компилятора отключены и вынесены на уровень языка, т.е. пользователь сам может написать векторизацию. Рассказывают, что так победили SotA перемножения матриц на разных платформах — https://www.modular.com/blog/the-worlds-fastest-unified-matrix-multiplication . Исходников нет, но есть ссылки на вакансии :) Вообще мысль, что разработчиков компиляторов почти нет и нужно давать более выосокоуровневый интерфейс для оптимизаций — клёвая.

Направление очень интересное, буду следить. Пока оно даже в опенсорс не выложено.

https://docs.modular.com/mojo/roadmap.html — roadmap
https://www.youtube.com/watch?v=SEwTjZvy8vw — хороший свежий видос про текущий статус
🔥5
Microsoft Ignite

Посмотрел несколько кинотов с Ignite. Марк Русинович, оказывается, CTO Azure. Все разговоры вокруг LLM. Мне нравится как Майкрософт бежит по всем фронтам не заменять людей, а говорит, что каждому нужен copilot, это удобно снижает всевозможные риски. Microsoft теперь именуют себя copilot company.

Все большие теперь делают свои чипы, MS специально для LLM сделали Maia — “one of the largest chips on 5-nanometer process technology”.

Забавный бенч на скорость обучения GPT-3 — 4min.

Из технического, интересного мне, обещают вкладываться в Triton от OpenAI.

Я верю, что такими темпами человечество скоро упрётся в нехватку электричества, а там и до сферы Дайсона недалеко :)

https://www.youtube.com/watch?v=sgW_ww1Xxe8 — keynote
https://www.youtube.com/watch?v=c4SUhWBybXo — Inside Microsoft AI innovations with Mark Russinovich
https://openai.com/research/triton
👍2
Python3.11

Попался видос про ускорение питона в версии 3.11. Вот тут есть подробное описание — https://docs.python.org/3/whatsnew/3.11.html#faster-runtime

Из хорошего — хоть кто-то наконец-то смог ускорить питон на что-то заметное, говорят про 25% в среднем.

Помимо всякой мелочёвки типа снижения количества indirection до данных из dict и zero-cost исключений, основная фича — “PEP 659: Specializing Adaptive Interpreter”. Это такой poor mans JIT. Господа не гордые и прям руками инстанциируют и инвалидируют всякие разные специализации.

Как-то даже непонятно плакать или радоваться. 25% лучше чем ничего, но питон хорошо бы ускорить раз в 5, а для этого нужен настоящий JIT богатого человека, который ещё и надо как-то умудриться подружить со всей экосистемой биндингов. Это всё делабельно, но некому за такое платить, а опенсорс такое не умеет.

Ответ от mojo интересный — JIT говорят хорошо, но мало, надо ещё нишу C++ забрать — https://docs.modular.com/mojo/why-mojo.html#improving-cpython-and-jit-compiling-python

https://www.youtube.com/watch?v=xKk7IXm0XO0 — видос скучный
👍1
предыстория mlx — https://github.com/ml-explore/mlx
Посмотрел интересный рассказ от Keith Packard про историю возникновения X server. Первый релиз X11 вышел до моего рождения… До X11 было 10 версий, первые 9 не покидали MIT, была такая университетская поделка.

В те времена никакого открытого софта не было, была куча конкурирующих unix-like систем, и все вендоры пытались залочить пользователя. X11 родилась как попытка объединиться всех против Sun, которая доминировала со своим SunView. X therefore represents one of the first very large-scale distributed free and open source software projects.

Keith считает большой ошибкой, что они не послушали Stallman-а и не сделали X под GPL. А не послушали они его потому, что он сидел на соседнем этаже, и они его слишком хорошо знали.

Удивительно конечно, что этот кусок гавна мамонта всё ещё с нами…

https://www.youtube.com/watch?v=cj02_UeUnGQ
На досуге посмотрел много интервью с Линусом. Забавно как у него риторика про Rust поменялась, теперь он скорее позиционирует Rust как правильный эксперимент, который позволит не стагнировать ядру. Мне нравится его подход — сначала обгавкать, и если людям правда надо, то они продолжат настаивать. Правда основной профит он видит от того, что это привлекает молодёжь в ядро, потому что все остальные мэйнтейнеры это деды 60+.

https://www.youtube.com/watch?v=YyRVOGxRKLg — вот есть отрывок на 3 минутки
Понравилась презентация Rabbit R1 — живенько и свеженько. Мне близка идея, что в ассистенте не должно быть никаких специальных приложений/навыков/агентов на каждый чих, а должен быть общий эфир. Интересно посмотреть как оно в живую работает, теперь хотя бы есть повод купить что-то от teenage.engineering. Обещают старт продаж на easter (easter bunny?).

Отдельно интересно как они планируют платить за GPU без подписки, железка явно в ноль или минус.

Рекомендую — https://www.youtube.com/watch?v=22wlLy7hKP4

https://www.theverge.com/2024/1/9/24030667/rabbit-r1-ai-action-model-price-release-date
👍4