Aspiring Data Science – Telegram
Aspiring Data Science
386 subscribers
465 photos
12 videos
12 files
2.15K links
Заметки экономиста о программировании, прогнозировании и принятии решений, научном методе познания.
Контакт: @fingoldo

I call myself a data scientist because I know just enough math, economics & programming to be dangerous.
Download Telegram
#hardware #cpu #zen5

"Что ещё интереснее, впервые со времён Zen 2 кеш первого уровня существенно нарастил пропускную способность. В Zen 5 он может отдавать четыре 64-байтных или принимать два 64-байтных блока за такт (против трёх и одного соответственно в Zen 4). Более того, в Zen 5 стал быстрее работать и кеш второго уровня. Его ёмкость сохранилась на уровне 1 Мбайт, но зато пропускная способность стала выше благодаря тому, что для соединения с L1-кешем стала использоваться вдвое более широкая 512-битная шина, через которую за такт можно прокачать 64 байта данных.

Но и это ещё не всё. Разработчики AMD нашли возможность немного поднять и производительность кеш-памяти третьего уровня. Её скорость в процессорах AMD ограничивается возможностями шины Infinity Fabric, которая в процессорах Ryzen среди прочего объединяет части L3-кеша, попадающие в разные CCD-чиплеты. Сама эта шина в Zen 5 не имеет никаких отличий от предыдущих реализаций, но обновлённый L3-кеш научился принимать и отдавать в одно ядро по 32 байт данных за такт — как раздельно, так и одновременно. В процессорах прошлого поколения достижение такой пропускной способности L3-кеша было возможно лишь при одновременной работе с ним нескольких ядер.

Все перечисленные улучшения в подсистеме кеширования Zen 5 сделаны ради того, чтобы минимизировать простои исполнительных блоков, ведь их число в новой версии архитектуры тоже выросло. Целочисленная часть в новом ядре насчитывает шесть арифметико-логических (ALU) и четыре адресных (AGU) устройства, а вещественночисленная — ещё шесть FP-устройств.

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

Забавно, но блок Zen 5, отвечающий за работу с числами с плавающей точкой, устроен ровно противоположным образом. В нём применяется три равноправных планировщика, и это явное развитие прошлых идей — в Zen 4 таких планировщиков было два. Но FP-блок в Zen 5 претерпел кардинальные изменения в другом — его исполнительные устройства научились работе с 512-битными векторными регистрами, что означает полноценную поддержку исполнения AVX-512-кода. Теперь такие инструкции могут обрабатываться процессором за один приём, а не дробиться для отправки на исполнительные устройства на пару 256-битных команд. Благодаря этому ядра Zen 5 должны получить очень весомый прирост производительности в задачах, поддерживающих AVX-512 и VNNI-инструкции. Тем более что попутно AMD удалось улучшить исполнение некоторых операций с плавающей точкой: например, сложение в Zen 5 выполняется за два такта вместо трёх, которые требовались процессорам AMD ранее.

К тому же одним только изменением исполнительных устройств дело не ограничивается. AMD говорит о «сквозной» поддержке AVX-512 на низком уровне, а это означает ещё и то, что L1-кеш данных получил специальный механизм для работы с 512-битными векторами. Это выражается в том, что FP-блок Zen 5 научился при необходимости загружать оттуда сразу два 512-битных вектора за такт — вдвое больше, чем было возможно в Zen 4."

https://3dnews.ru/1110998/obzor-ryzen-7-9700x
Forwarded from asisakov
Статзначимость коэффициентов при регрессии

Вчера спорили с ребятами на работе по поводу статзначимости и как ее считать. После вопроса про оценку значимости коэффициента я ожидал услышать что-то типа бутстрапирования выборки.

Однако, ребята вспомнили интересную формулу из книжки по эконометрике (Jeffrey M. Wooldridge. Introductory Econometrics. A modern approach). Вот та самая формула ниже:

Var(beta_j) = sigma^2 / (SST_j * (1 - R_j^2 )) - уравнение для оценки дисперсии признака j

sigma^2 - дисперсия ошибки

SST_j = sum((x_ij - mean(x_j))^2) - суммарная дисперсия выборки по признаку j

R_j^2 - оценка R^2 от оценки регрессии этого признака j на остальных

При помощи нее мы оениваем дисперсию, и затем можем поглядеть, попадает ли 0 в доверительный интервал, и насколько узок или широк этот самый доверительный интервал.

Но самое интересное еще впереди. Что меня уже зацепило, так это формулировка одной из переменных данной формулы: оценка R^2 от оценки регрессии этого признака j на остальных. Что-то напоминает?

Действительно, это оказался тот самый VIF. Если мы спустимся от этой формулы (в книжке это формула 3.51 на странице 94) ниже на 4 страницы, мы реально увидим переход к этой формулировке:

Var(beta_j) = (sigma^2 / SST_j) * VIF_j


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

#ml #statistics
👍1
#gpt #physics

Так и модель 4о не так плоха в решении задач, оказывается.

https://www.youtube.com/watch?v=m6nZ9h7S7nw
#skipthis

Пополнился мой список вещей, которые не должны существовать:

1) благодарности в книге
2) сноски в книге или статье
3) фраза "withouth further ado"
😁3
Forwarded from Пездуза
⚡️У Медведева взорвался электрический штопор