Интересное что-то
518 subscribers
2.72K photos
253 videos
140 files
4.53K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from Gour
На civitai выложили смешанную модель (Large + Large Turbo) на 8 шагов
https://civitai.com/models/880208/sd-35-fusion-8-steps-merge-full-model-and-lora-version
Как со встроенными энкодерами (полноценный чекпоинт), так и без них (unet), fp8 и fp16

Есть и обычная fp8 сразу с энкодерами https://civitai.com/models/882666?modelVersionId=988061

Ну и там же кванты есть всякие разные https://civitai.com/models/886778?modelVersionId=992647

С civitai, скорость скачивания, возможно, быстрее будет
Тут что-то про долгосрочную память завезли. Снова огромная статья, которую разбирать полноценно некогда, только автоматом. Подкаст и ссылка на ютуб видео там же в канале.
Forwarded from Galqiwi's boredom
Наконец-то закончил работу над большим пет-проектом.

Я смог запустить Llama 3.1-8b прямо в браузере на cpu с помощью нашего нового алгоритма сжатия AQLM+PV.

Можно потестить демо здесь

видео
Forwarded from Quant Researcher
📚3 книги, которые должен освоить каждый квант

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

Важно именно разобраться в концептах из книг, а не просто прочитать. Разобраться — это значит прорешать все задачи в конце глав и понять каждую формулу. Благо, сейчас есть ChatGPT; еще 5 лет назад нам приходилось искать другие источники, чтобы разобраться в непонятных моментах из этих книг.

1. Options, Futures, and Other Derivatives, Джон Халл. Библия деривативов. Объемная книга с академической базой, необходимой для работы с производными финансовыми инструментами. Ее плюс в том, что она охватывает и базовые инструменты: акции, облигации и т.д.

2. Trades, Quotes and Prices: Financial Markets Under the Microscope, Жан-Филипп Бушо. Лучшая книга по микроструктуре рынка. Внимание: может вызвать много вопросов по матанализу!

3. Advances in Financial Machine Learning Маркос Лопес де Прадо. Книга о применении машинного обучения в финансах. Примечателен и ее автор, Маркос Лопес де Прадо, редкий случай академика, успешно работающего в хедж-фонде.

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

Quant Researcher
Forwarded from Варим МЛ
Продолжаем тему LLM - набросал список вопросов и ответов, которые позволят быстро (но не очень глубоко) погрузиться в самые разные темы, связанные с их использованием.

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

Отдельное спасибо моему коллеге Жене Гутину за ревью.

#Жека #machinelearning #llm
Я принес. Воркшоп по самопрезентации на собеседовании

Сегодня я принес вам видео с одной из первых тимлидкрюшных подлодок https://www.youtube.com/watch?v=wLE40CAVFxM

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

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

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

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

Отдельно стоит сказать, что часто на менеджерские/тимлидские вакансии некоторые собеседующие обращают внимание с точки зрения того, как складно, понятно и логично человек формулирует свои мысли. Поэтому домашние заготовочки создают приятное впечатление, а полная неподготовленность – шероховатые.

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

Прошла вторая трехдневка, и я продолжаю документировать происходящее на курсе Стратоплана «Руководитель отдела».

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

Принятие решений
Тут было много знакомых мне из разных докладов, книг и статей техник и идей, типа когнитивных искажений (привет, Канеман) или аргументации решений по квадрату Декарта.

А еще хорошо скомпонованная и понятная пятиступенчатая система принятия решений:
1. Оценить своевременность.
2. Оценить полноту своей информированности.
3. Сгенерить план.
4. Понять заинтересованность компании/руководителя (в реальной жизни я неоднократно видел, как люди пропускали мимо эту мысль и потом страдали от того, что «их работу никто не ценит»).
5. Прислушаться к себе физически и морально. Тут, на мой взгляд, опять же привет Канеману с его понятием интуиции. Хотя некоторые трактуют это несколько иначе.

А главное, конечно, что я для себя отмечал ранее и тут лишний раз намотал на ус – учитывать информированность о вопросе, требующем решения.

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

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

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

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

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

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

Пост про первый месяц тут
Слушайте, а неплохой этот ваш vLLM для сервинга llm и vllm

Нужно было поднять мой джентельменский набор из qwen2-vl и florence2. Получилось почти без боли

Есть готовый запуск с докера

У меня, чуток устаревшие драйвера видеокарты 🫠, и докер не завелся. Кажись, тут можно поменять версию куды, но не хотел ждать сборку. Поставил в весьма венв с помощью uv (чтобы нормально зависимости зарезолвилсиь), и всё заработало

Вообще там куча оптимизаций (всякие кеши), а также квантизация. Выглядит здорово

#tool
#паттерны

Введение

Сегодня мы рассмотрим паттерн проектирования "Абстрактная фабрика".

Классификация

Тип: Порождающий

Определение: Абстрактная фабрика - это порождающий паттерн проектирования, который предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов.

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

Из чего состоит и как работает данный паттерн

1. Абстрактного класса/Интерфейса абстрактной фабрики. Содержит абстрактные методы которые возвращают абстрактные продукты, связанные одной конпцецией.

class AbstractFactory(ABC):
@abstractmethod
def create_product_a(self):
...

@abstractmethod
def create_product_b(self):
...


2. Конретные фабрики. Конкретные фабрики реализут операции которые создают конкретные продукты.

class ConcreteFactory1(AbstractFactory):
def create_product_a(self):
return ConcreteProductA1()

def create_product_b(self):
return ConcreteProductB1()

class ConcreteFactory2(AbstractFactory):
def create_product_a(self):
return ConcreteProductA2()

def create_product_b(self):
return ConcreteProductB2()


3. Абстрактные классы продуктов. Реализуют интерфейс для всех конретных продуктов своего семейства.

class AbstractProductA(ABC):
@abstractmethod
def very_important_super_function_a(self) -> str:
...

class AbstractProductB(ABC):
@abstractmethod
def very_important_super_function_b(self) -> str:
...


4. Конкретные продукты. Реализуют абстрактные продукты. Продукты одного семейства не могут взаимодействовать, с продуктами другого семейства.

class ConcreteProductA1(AbstractProductA):
def very_important_super_function_a(self) -> str:
return "Product A1"


class ConcreteProductA2(AbstractProductA):
def very_important_super_function_a(self) -> str:
return "Product A2"

class ConcreteProductB1(AbstractProductB):
def very_important_super_function_b(self) -> str:
return "Product B1"


class ConcreteProductB2(AbstractProductB):
def very_important_super_function_b(self) -> str:
return "Product B2"


5. Клиент. Клиентский код работает исключительно с абстрактной фабрикой и абстрактными продуктами.

def client(factory: AbstractFactory) -> str:
return factory.create_product_a().very_important_super_function_a()

for factory in (ConcreteFactory1, ConcreteFactory2, ...):
client(factory)


Плюсы данного паттерна

1. Реализует принцип открытости/закрытости.

2. Упращает поддержку кода.

3. Выделяет код производства продуктов в одно место, упрощая поддержку кода.

Минусы данного паттерна

1. Снижает читаемость программы из-за введения множества дополнительных классов.

Пример и задача

Дед Мороз и Пасхальный кролик не успевают сделать игрушки к празднику, которые они будут дарить детям.
Все существует 3 вида игрушек:

1. Лошадка
2. Зайчик
3. Шарик

Всё было бы просто однако Деду Морозу нужны игрушки в новогоднем стиле, а пасхальному кролику в пасхальном.
Создайте абстрактную фабрику игрушек и спасите эти праздники!

Пример из реального кода

Пример из реального кода предоставил @Tishka17. Он разработал замечательный фреймворк aiogram_dialog для разработки интерактивных диалогов и меню в телеграмм ботах, как обычное приложение с графическим интерфейсом.

Вот здесь он использует данный паттерн: https://github.com/Tishka17/aiogram_dialog/blob/develop/aiogram_dialog/manager/manager_middleware.py#L23

Вот его объяснение, какую задачу он решает в данном случае:
В библиотеке aiogram dialog есть диалог менеджер, он реализует базовую функциональность управления диалогами: старт разным способом, доступ к контексту и т.п.
Также есть менеджер - это временный объект. Он создаётся на время обработки конкретного события. Соответственно, его надо постоянно пересоздавать.
В какой-то момент я решил что неплохо дать возможность что-то в менеджере переопределить, соответственно нужно и фабрику менять.
Для решения этой проблемы абстрактная фабрика подошла лучше всего.
Иногда (не сказать, что редко) ко мне приходят с вопросом типа "как стать продуктовым аналитиком". Простого ответа не него нет, каждый раз он разный. Это зависит от текущей профессии, опыта, в т.ч. "жизненного", тех. скиллов, типа мышления, желания, в конце концов, и т.д и т.п.
Автор статьи делает неплохой подход к построению данного пути, хотя бы в общих чертах. Другие его статьи тоже рекомендую почитать, жаль, что их мало.