Python Ninja | Программирование
6.89K subscribers
1.21K photos
115 videos
1.06K links
Канал для всех кто хочет освоить или прокачать навыки программирования на Python. Присоединяйся, чтобы стать настоящим Python Ninja!

Связь: @sfoninja
Download Telegram
OpenResearch в пятницу занял первое место среди самых популярных репозиториев на GitHub.

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

Теперь OpenResearch доступен и на Windows.

https://github.com/alphaXiv/OpenResearch

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
11 принципов разработки ПО, которые я хотел бы понять раньше

1. SOLID — качественное объектно-ориентированное проектирование
2. DRY — не повторяйся
3. KISS — делай проще
4. YAGNI — не создавай то, что пока не нужно
5. SRP — одна ответственность
6. Open/Closed — расширяй, не ломая существующее
7. Dependency Inversion — меньше жёстких связей
8. Composition — собирай систему из гибких компонентов
9. Separation of Concerns — разделяй зоны ответственности
10. Fail Fast — выявляй проблемы как можно раньше
11. Measure First — оптимизируй только то, что действительно имеет значение

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Вот как сегодня выглядит «фабрика программного обеспечения» OpenAI, где значительная часть работы уже строится вокруг агентов.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Гайд по основным командам для диагностики сетей, которые должен знать каждый Sysadmin.

Сравнение инструментов, используемых в системах Linux/macOS и Windows.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Это что за имба

An Introduction to Statistical Learning это полноценный учебник по статистике, Machine Learning. Бесплатная учебная база: регуляризация, классификация, регрессия, деревья решений, SVM, Deep Learning, статистические тесты и практическая лабораторные работы в каждой главе.

https://www.statlearning.com/

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Совет на ближайшие годы — идите в Data Science и ML

Пока ИИ забирает работу у одних специалистов, другие строят на нём карьеру и зарабатывают всё больше. И вопрос уже не в том, изменит ли ИИ рынок, а в том, по какую сторону этих изменений окажетесь вы. DS/ML – один из самых прямых способов оказаться среди тех, кто на этом выигрывает

А чтобы не тратить годы на хаотичное обучение – держите в подписках Data Portal. Там практикующие ML-инженеры понятным языком разбирают главное: новые модели, библиотеки, исследования, датасеты, гайды, курсы и практические кейсы.

Подписывайтесь: @LLMScience
❤2
Не нарушайте принцип единственной ответственности

Функция должна делать одну вещь, делать её хорошо и только её.

Эта функция делает слишком много:

def calculate_final_total(
price: float,
quantity: int,
discount_rate: float,
tax_rate: float
) -> float:
# Расчёт промежуточной суммы
subtotal = price * quantity

# Применение скидки
discounted_amount = subtotal * (1 - discount_rate)

# Расчёт налога
final_total = discounted_amount * (1 + tax_rate)

return final_total


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

Лучше разбить логику на небольшие специализированные функции:

def calculate_subtotal(price: float, quantity: int) -> float:
return price * quantity

def apply_discount(subtotal: float, discount: float) -> float:
return subtotal * (1 - discount)

def calculate_tax(amount: float, tax_rate: float) -> float:
return amount * (1 + tax_rate)


Так намного лучше.

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

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

Поэтому держите функции простыми и сфокусированными.

Одна функция — одна ответственность.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Небольшой факт про Python.

Оператор := называют «моржом» из-за того, что символы напоминают глаза и бивни моржа.

Он появился в Python 3.8 и позволяет одновременно присвоить значение переменной и использовать его прямо внутри выражения.

Например:

while (line := input("Say something: ")) != "quit":
print(f"You said: {line}")


Без него пришлось бы отдельно получать значение через input(), а затем уже проверять его.

Пользовались когда-нибудь := в своём коде?

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Одно из главных правил GROUP BY в SQL.

Если в SELECT есть столбец без агрегатной функции, он должен либо входить в GROUP BY, либо однозначно определяться сгруппированными столбцами.

Почему это важно: GROUP BY определяет, что означает одна строка результата. База должна понимать, какое единственное значение поставить в каждую ячейку.

Например, если одна строка результата соответствует должности внутри отдела, группировать нужно и по department, и по job_title.

Если оставить столбец, который внутри одной группы может иметь несколько значений, одни СУБД просто вернут ошибку, а другие в некоторых режимах могут выбрать неопределённое значение из группы.

Простое правило: если столбец может иметь несколько значений внутри группы, его нужно либо добавить в GROUP BY, либо агрегировать через COUNT, SUM, MAX, MIN и другие функции.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
В репозитории LLM Internals собрали цельную дорожную карту от токенизации и BPE до обучения, дообучения, RAG, агентов и оптимизации вывода.

Разбираются Q/K/V, RoPE, каузальные маски, GQA, Transformer, MoE, LoRA, нормализация, обратное распространение ошибки, кросс-энтропия, RLHF и рассуждающие модели.

Отдельный блок посвящён ускорению вывода: KV Cache, Flash Attention, Paged Attention и спекулятивное декодирование.

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

https://github.com/amitshekhariitbhu/llm-internals

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
На Stepik запустили мощный курс по «Troubleshooting Docker и Kubernetes: поиск и устранение проблем»

В программе только важные аспекты:

— troubleshooting Docker и образов
— диагностика сетевых проблем
— настройка readiness/liveness probes
— отладка pod’ов, деплоев и ingress
— анализ логов контейнеров и кластера
— разбор ошибок CrashLoopBackOff, OOMKilled, ImagePullBackOff и других

Собеседования на DevOps/SRE сейчас всё чаще строятся вокруг реальных инцидентов. Данный курс фокусируется именно на таких сценариях и помогает в подготовке к практическим вопросам

48 часов доступен со скидкой 25%

↗️ Пройти курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Один из создателей ChatGPT представил принципиально новый тип ИИ-моделей.

Два года, Диогу Алмейда, втайне разрабатывал Jev — модель, которая не пишет текст и не генерирует токены последовательно.

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

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

Именно поэтому модель работает в 20–200 раз быстрее и обходится в 40–400 раз дешевле. Миллион входных токенов стоит 4,2 цента, а выход остаётся бесплатным навсегда (его вычисление настолько дёшево, что компания не видит смысла его считать.)

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

Это не замена GPT-6 Astra и не новый чат-бот. Jev создан для автоматизации, где программам не нужны тексты. Им нужны быстрые решения в заданном формате.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
В открытом доступе появился GuppyLM — проект, который позволяет обучить языковую модель на 9 млн параметров с нуля примерно за пять минут.

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Отличный материал по современному программированию GPU для систем машинного обучения.

MLC Community разбирает архитектуру GPU практически с нуля: потоки и варпы, иерархию памяти, CUDA Cores и Tensor Cores, TMA, устройство Blackwell, GEMM и Flash Attention 4. Отдельный упор сделан на то, как писать действительно быстрые ядра и эффективно загружать вычислительные блоки GPU.

https://mlc.ai/modern-gpu-programming-for-mlsys/chapter_background/index.html

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
«Принципы механики» — бесплатный учебник с открытым доступом, который даёт всестороннее введение в классическую механику.

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

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

Полная версия книги бесплатно доступна в PDF:

https://link.springer.com/content/pdf/10.1007/978-3-030-15195-9.pdf

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Вот один из лучших материалов для начала, если хотите понять, что процессор на самом деле делает.

https://youtu.be/GU8MnZI0snA

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
НАШ ОСНОВНОЙ КАНАЛ, БУДЕМ РАДЫ ВАШЕЙ ПОДПИСКЕ

Проект «TERMINAL» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков:

• Практические курсы и задания
• Книги и статьи известных авторов
• Полезные инструменты и ресурсы
• IT-новости и инсайды

Обучение по всем направлениям: SQL, Python, ML, Frontend, PHP, C++, Go, Git, Linux, QA, Java, Vibe-coding, InfoSec и др.

⌨️ подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Очень рекомендую сохранить осенний курс Стэнфорда MS&E 319 — Efficient Generative Language Models.

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

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

«Просто купить ещё GPU» тоже вариант — и сейчас это фактически основной подход рынка.

В курсе будут MoE, attention, сжатие KV Cache, квантизация, speculative decoding, а также LoRA, RLHF, DPO и дистилляция. Все эти обычно разрозненные техники рассматриваются через один вопрос: какую именно часть вычислений, памяти или времени они экономят и чем за это приходится платить.

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

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

У курса есть определённый порог входа, но если тема интересна, точно стоит следить:

https://web.stanford.edu/class/msande319/

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🎉1🏆1