Forwarded from Denis Saponenko
От себя добавлю, что для работы с проблемами актуальны:
Метод 5 почему
Диаграмма Исикавы
SWOT-анализ
Модель Enterprise Value Map
ТРИЗ
Они более высокоуровневые, но тимлиду надо расти 😉
Метод 5 почему
Диаграмма Исикавы
SWOT-анализ
Модель Enterprise Value Map
ТРИЗ
Они более высокоуровневые, но тимлиду надо расти 😉
Хабр
Метод «5 почему»: как он работает, что чаще всего забывают, и как провести тренинг для команды
Всем привет! Меня зовут Роман Сергеев, я - менеджер по внедрению и развитию продуктов и систем в ИТ «Ренессанс страхование». В этом материале я расскажу о том, как правильно метод использовать...
Forwarded from r/ретранслятор
r/ретранслятор
Китайский стартап Manus выпустил первого полностью автономного ИИ-агента, способного выполнять сложные задачи без участия человека. И это не очередная «самая умная нейронка, которая на 1% лучше других», а практически самостоятельная модель, которая не только…
Помните мы недавно писали про ИИ-агента Manus? Так вот, теперь вышел... ANUS (Autonomous Networked Utility System) — бесплатный клон Manus AI.
Всё просто: разработчик попросил Manus клонировать себя, что нейронка и сделала. Результатом стала полностью функциональная структура агента с открытым кодом, архитектурой и документацией, воссозданная за считанные минуты.
Основные возможности:
– Выполнение сложных задач через естественный язык;
– Взаимодействие между несколькими агентами;
– Работа с веб-ресурсами, документами, кодом;
– Обработка текста, изображений и аудио.
Также ANUS можно расширить плагинами и кастомными инструментами.
Если хотите попробовать ANUS, то гитхаб тут
r/#singularity
Всё просто: разработчик попросил Manus клонировать себя, что нейронка и сделала. Результатом стала полностью функциональная структура агента с открытым кодом, архитектурой и документацией, воссозданная за считанные минуты.
Основные возможности:
– Выполнение сложных задач через естественный язык;
– Взаимодействие между несколькими агентами;
– Работа с веб-ресурсами, документами, кодом;
– Обработка текста, изображений и аудио.
Также ANUS можно расширить плагинами и кастомными инструментами.
Если хотите попробовать ANUS, то гитхаб тут
r/#singularity
Forwarded from Katser
Мне было интересно послушать об итогах года в ML in Manufacturing от Димы Подвязникова. 2 года выступаю у Димы в секции на Datafest'е и даже немного помогаю собирать доклады.
Я бы дополнил выступление (далее с ссылками на материалы в канале):
За упоминание RUL в ключевых докладах отдельное спасибо
Наверно, и я много всего забыл — делитесь в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Дмитрий Подвязников | Итоги года в ML in Manufacturing
Спикер: Дмитрий Подвязников
Data Ёлка 2024 в гостях у Ecom.tech: https://ods.ai/events/data-elka-24-ecomtech-offline
Data Ёлка 2024: https://ods.ai/events/data-elka-2024
_____
Наши соц.сети:
Telegram: https://t.me/datafest
Вконтакте: https://vk.com/datafest…
Data Ёлка 2024 в гостях у Ecom.tech: https://ods.ai/events/data-elka-24-ecomtech-offline
Data Ёлка 2024: https://ods.ai/events/data-elka-2024
_____
Наши соц.сети:
Telegram: https://t.me/datafest
Вконтакте: https://vk.com/datafest…
#prompt
AI Prompting Tips from a Power User: How to Get Way Better Responses
# 1. Stop Asking AI to “Write X” and Start Giving It a Damn Framework
AI is great at filling in blanks. It’s bad at figuring out what you actually want. So, make it easy for the poor thing.
🚫 Bad prompt: “Write an essay about automation.”
✅ Good prompt:
Title: [Insert Here]
Thesis: [Main Argument]
Arguments:
- [Key Point #1]
- [Key Point #2]
- [Key Point #3]
Counterarguments:
- [Opposing View #1]
- [Opposing View #2]
Conclusion: [Wrap-up Thought]
Now AI actually has a structure to follow, and you don’t have to spend 10 minutes fixing a rambling mess.
Or, if you’re making characters, force it into a structured format like JSON:
{
"name": "John Doe",
"archetype": "Tragic Hero",
"motivation": "Wants to prove himself to a world that has abandoned him.",
"conflicts": {
"internal": "Fear of failure",
"external": "A rival who embodies everything he despises."
},
"moral_alignment": "Chaotic Good"
}
Ever get annoyed when AI contradicts itself halfway through a story? This fixes that.
# 2. The “Lazy Essay” Trick (or: How to Get AI to Do 90% of the Work for You)
If you need AI to actually write something useful instead of spewing generic fluff, use this four-part scaffolded prompt:
Assignment: [Short, clear instructions]
Quotes: [Any key references or context]
Notes: [Your thoughts or points to include]
Additional Instructions: [Structure, word limits, POV, tone, etc.]
🚫 Bad prompt: “Tell me how automation affects jobs.”
✅ Good prompt:
Assignment: Write an analysis of how automation is changing the job market.
Quotes: “AI doesn’t take jobs; it automates tasks.” - Economist
Notes:
- Affects industries unevenly.
- High-skill jobs benefit; low-skill jobs get automated.
- Government policy isn’t keeping up.
Additional Instructions:
- Use at least three industry examples.
- Balance positives and negatives.
Why does this work? Because AI isn’t guessing what you want, it’s building off your input.
# 3. Never Accept the First Answer—It’s Always Mid
Like any writer, AI’s first draft is never its best work. If you’re accepting whatever it spits out first, you’re doing it wrong.
How to fix it:
1. First Prompt: “Explain the ethics of AI decision-making in self-driving cars.”
2. Refine: “Expand on the section about moral responsibility—who is legally accountable?”
3. Refine Again: “Add historical legal precedents related to automation liability.”
Each round makes the response better. Stop settling for autopilot answers.
# 4. Make AI Pick a Side (Because It’s Too Neutral Otherwise)
AI tries way too hard to be balanced, which makes its answers boring and generic. Force it to pick a stance.
🚫 Bad: “Explain the pros and cons of universal basic income.”
✅ Good: “Defend universal basic income as a long-term economic solution and refute common criticisms.”
Or, if you want even more depth:
✅ “Make a strong argument in favor of UBI from a socialist perspective, then argue against it from a libertarian perspective.”
This forces AI to actually generate arguments, instead of just listing pros and cons like a high school essay.
# 5. Fixing Bad Responses: Change One Thing at a Time
If AI gives a bad answer, don’t just start over—fix one part of the prompt and run it again.
* Too vague? Add constraints.
* Mid: “Tell me about the history of AI.”
* Better: “Explain the history of AI in five key technological breakthroughs.”
* Too complex? Simplify.
* Mid: “Describe the implications of AI governance on international law.”
* Better: “Explain how AI laws differ between the US and EU in simple terms.”
* Too shallow? Ask for depth.
* Mid: “What are the problems with automation?”
* Better: “What are the five biggest criticisms of automation, ranked by impact?”
Tiny tweaks = way better results.
AI Prompting Tips from a Power User: How to Get Way Better Responses
# 1. Stop Asking AI to “Write X” and Start Giving It a Damn Framework
AI is great at filling in blanks. It’s bad at figuring out what you actually want. So, make it easy for the poor thing.
🚫 Bad prompt: “Write an essay about automation.”
✅ Good prompt:
Title: [Insert Here]
Thesis: [Main Argument]
Arguments:
- [Key Point #1]
- [Key Point #2]
- [Key Point #3]
Counterarguments:
- [Opposing View #1]
- [Opposing View #2]
Conclusion: [Wrap-up Thought]
Now AI actually has a structure to follow, and you don’t have to spend 10 minutes fixing a rambling mess.
Or, if you’re making characters, force it into a structured format like JSON:
{
"name": "John Doe",
"archetype": "Tragic Hero",
"motivation": "Wants to prove himself to a world that has abandoned him.",
"conflicts": {
"internal": "Fear of failure",
"external": "A rival who embodies everything he despises."
},
"moral_alignment": "Chaotic Good"
}
Ever get annoyed when AI contradicts itself halfway through a story? This fixes that.
# 2. The “Lazy Essay” Trick (or: How to Get AI to Do 90% of the Work for You)
If you need AI to actually write something useful instead of spewing generic fluff, use this four-part scaffolded prompt:
Assignment: [Short, clear instructions]
Quotes: [Any key references or context]
Notes: [Your thoughts or points to include]
Additional Instructions: [Structure, word limits, POV, tone, etc.]
🚫 Bad prompt: “Tell me how automation affects jobs.”
✅ Good prompt:
Assignment: Write an analysis of how automation is changing the job market.
Quotes: “AI doesn’t take jobs; it automates tasks.” - Economist
Notes:
- Affects industries unevenly.
- High-skill jobs benefit; low-skill jobs get automated.
- Government policy isn’t keeping up.
Additional Instructions:
- Use at least three industry examples.
- Balance positives and negatives.
Why does this work? Because AI isn’t guessing what you want, it’s building off your input.
# 3. Never Accept the First Answer—It’s Always Mid
Like any writer, AI’s first draft is never its best work. If you’re accepting whatever it spits out first, you’re doing it wrong.
How to fix it:
1. First Prompt: “Explain the ethics of AI decision-making in self-driving cars.”
2. Refine: “Expand on the section about moral responsibility—who is legally accountable?”
3. Refine Again: “Add historical legal precedents related to automation liability.”
Each round makes the response better. Stop settling for autopilot answers.
# 4. Make AI Pick a Side (Because It’s Too Neutral Otherwise)
AI tries way too hard to be balanced, which makes its answers boring and generic. Force it to pick a stance.
🚫 Bad: “Explain the pros and cons of universal basic income.”
✅ Good: “Defend universal basic income as a long-term economic solution and refute common criticisms.”
Or, if you want even more depth:
✅ “Make a strong argument in favor of UBI from a socialist perspective, then argue against it from a libertarian perspective.”
This forces AI to actually generate arguments, instead of just listing pros and cons like a high school essay.
# 5. Fixing Bad Responses: Change One Thing at a Time
If AI gives a bad answer, don’t just start over—fix one part of the prompt and run it again.
* Too vague? Add constraints.
* Mid: “Tell me about the history of AI.”
* Better: “Explain the history of AI in five key technological breakthroughs.”
* Too complex? Simplify.
* Mid: “Describe the implications of AI governance on international law.”
* Better: “Explain how AI laws differ between the US and EU in simple terms.”
* Too shallow? Ask for depth.
* Mid: “What are the problems with automation?”
* Better: “What are the five biggest criticisms of automation, ranked by impact?”
Tiny tweaks = way better results.
# Final Thoughts: AI Is a Tool, Not a Mind Reader
If you’re getting boring or generic responses, it’s because you’re giving AI boring or generic prompts.
✅ Give it structure (frameworks, templates)
✅ Refine responses (don’t accept the first answer)
✅ Force it to take a side (debate-style prompts)
AI isn’t magic. It’s just really good at following instructions. So if your results suck, change the instructions.
Got a weird AI use case or a frustrating prompt that’s not working? Drop it in the comments, and I’ll help you tweak it. I have successfully created a CYOA game that works with minimal hallucinations, a project that has helped me track and define use cases for my autistic daughter's gestalts, and almost no one knows when I use AI unless I want them to.
For example, this guide is obviously (mostly) AI-written, and yet, it's not exactly generic, is it?
If you’re getting boring or generic responses, it’s because you’re giving AI boring or generic prompts.
✅ Give it structure (frameworks, templates)
✅ Refine responses (don’t accept the first answer)
✅ Force it to take a side (debate-style prompts)
AI isn’t magic. It’s just really good at following instructions. So if your results suck, change the instructions.
Got a weird AI use case or a frustrating prompt that’s not working? Drop it in the comments, and I’ll help you tweak it. I have successfully created a CYOA game that works with minimal hallucinations, a project that has helped me track and define use cases for my autistic daughter's gestalts, and almost no one knows when I use AI unless I want them to.
For example, this guide is obviously (mostly) AI-written, and yet, it's not exactly generic, is it?
Forwarded from Quant Researcher
AI Хедж-фонд, finally…
Пруф-оф-концепт хедж-фонда на базе ИИ!!!
🚀 Запуск хедж-фонда
- Для вывода рассуждений агентов:
- Для указания временного диапазона:
🗿 Запуск бэктестера
- С указанием дат:
⁉️ Один вопрос, где агент-таролог, который учитывает движение планет в торговле?
‼️ А так проект интересный, можно даже подсмотреть что-то полезное. Структура хорошая же)
Quant Researcher
Пруф-оф-концепт хедж-фонда на базе ИИ!!!
Классический такой фонд из:
- Ben Graham Agent 👑 – инвестирует с запасом прочности.
- Bill Ackman Agent 💪 – занимает смелые позиции.
- Cathie Wood Agent 🚀 – верит в инновации и рост.
- Charlie Munger Agent 🤝 – покупает отличные компании по справедливой цене.
- Stanley Druckenmiller Agent 📈 – ищет асимметричные возможности.
- Warren Buffett Agent 🔮 – выбирает замечательные компании по справедливой цене.
- Valuation Agent 💹 – рассчитывает внутреннюю стоимость акций.
- Sentiment Agent 😃 – анализирует рыночное настроение.
- Fundamentals Agent 📊 – анализирует фундаментальные данные.
- Technicals Agent 📉 – изучает технические индикаторы.
- Risk Manager ⚠️ – управляет рисками и лимитами.
- Portfolio Manager 📋 – принимает финальные торговые решения.
🚀 Запуск хедж-фонда
poetry run python src/main.py --ticker AAPL,MSFT,NVDA- Для вывода рассуждений агентов:
poetry run python src/main.py --ticker AAPL,MSFT,NVDA --show-reasoning- Для указания временного диапазона:
poetry run python src/main.py --ticker AAPL,MSFT,NVDA --start-date 2024-01-01 --end-date 2024-03-01🗿 Запуск бэктестера
poetry run python src/backtester.py --ticker AAPL,MSFT,NVDA- С указанием дат:
poetry run python src/backtester.py --ticker AAPL,MSFT,NVDA --start-date 2024-01-01 --end-date 2024-03-01⁉️ Один вопрос, где агент-таролог, который учитывает движение планет в торговле?
‼️ А так проект интересный, можно даже подсмотреть что-то полезное. Структура хорошая же)
Quant Researcher
Forwarded from ML-легушька
Немного всратых мыслей про математику гедонизма.
В языковых моделях есть такая метрика - перплексия. Это нормированная на количество слов обратная вероятность получения реального предложения с помощью модели (см картинку 1). На человеческом языке ее можно интерпретировать как "недоумение" модели относительно реального предложения, или же неуверенность в его правдоподобии. Соответственно, если на реальном предложении перплексия маленькая - модель понимает, что это правдоподобное предложение.
Вам не кажется, что подобный подход можно использовать для оценки человеческого опыта?
Давайте посмотрим на вашу личность и восприятие как совокупность событий, произошедших с вами. Тут важны не конкретные числа (которые посчитать зачастую сложно), а способ мышления.
Что приносит вам эмоции? Какой-то новый опыт. Какие есть свойства у "абсолютного" значения полученных положительных эмоций, если бы мы могли их посчитать?
1. Количество полученного дофамина/серотонина/etc. - непосредственно величина полученного кайфа, можно сказать физическая составляющая.
2. То, насколько этот опыт является для вас новым и неожиданным - например, если вы всю жизнь росли в бедности, а потом стали ходить по шикарным ресторанам, то первое время вы будете от этого ОЧЕНЬ кайфовать, а через годик-другой такой жизни - в меньшей степени. Можно назвать это психологической составляющей опыта (мы не будем говорить тут об адаптации рецепторов и прочих нейробиологических вещах, ибо это трудно, плохо исследовано и не передает суть).
Пункт номер два крайне похож на перплексию, не находите? Но вместо слов в предложении выступают "параметры" данного события, вместо модели - ваш жизненный опыт.
Более того, для события можно прикинуть его вероятность, не вдаваясь в детали - достаточно посмотреть на а) его распространенность в большой человеческой популяции (жители вашего города/страны/большой социальной группы) и б) приблизить вероятность совпадения такого события и вас с помощью, например, оценки схожести данного события с предыдущими событиями в вашей жизни.
Я стал пользоваться данным подходом для принятия решений по поводу своего досуга/развлечений/etc., и он действительно помогает. В целом, мы руководствуемся схожим подходом, но если делать это не неосознанно, а разложить на составляющие, то жить становится чуточку проще и неопределенность понижается.
Это достаточно полное описание того, о чем же на самом деле гедонизм. Гедонист выступает в качестве агента, максимизирующего произведения абсолютной величины дофамина и перплексии опыта.
Тут есть еще одна интересная мысль для анализа - применить формулу Байеса (см. картинку 2, H_T - ваш жизненный опыт до события S_T, S_T - событие, произошедшее в момент T).
И все абсолютно логично. Чем меньше P(H_T), тем меньше перплексия - вас сложнее удивить, у вас необычный бэкграунд и в вашей жизни происходит больше неординарных с точки зрения человечества событий. Соответственно, с уменьшением P(S_T) ценность опыта растет из-за его уникальности. Действительно интересный множитель тут это P(H_T | S_T), то есть то, насколько ваш личный жизненный опыт уникален относительно других людей, с которыми это событие произошло.
Каждую из этих компонент можно посчитать, пусть и неточно (ибо это требует полной информации обо всем человечестве), но тем не менее.
В целом жизнь кажется сильно проще, когда вы можете ее посчитать, не находите?
В языковых моделях есть такая метрика - перплексия. Это нормированная на количество слов обратная вероятность получения реального предложения с помощью модели (см картинку 1). На человеческом языке ее можно интерпретировать как "недоумение" модели относительно реального предложения, или же неуверенность в его правдоподобии. Соответственно, если на реальном предложении перплексия маленькая - модель понимает, что это правдоподобное предложение.
Вам не кажется, что подобный подход можно использовать для оценки человеческого опыта?
Давайте посмотрим на вашу личность и восприятие как совокупность событий, произошедших с вами. Тут важны не конкретные числа (которые посчитать зачастую сложно), а способ мышления.
Что приносит вам эмоции? Какой-то новый опыт. Какие есть свойства у "абсолютного" значения полученных положительных эмоций, если бы мы могли их посчитать?
1. Количество полученного дофамина/серотонина/etc. - непосредственно величина полученного кайфа, можно сказать физическая составляющая.
2. То, насколько этот опыт является для вас новым и неожиданным - например, если вы всю жизнь росли в бедности, а потом стали ходить по шикарным ресторанам, то первое время вы будете от этого ОЧЕНЬ кайфовать, а через годик-другой такой жизни - в меньшей степени. Можно назвать это психологической составляющей опыта (мы не будем говорить тут об адаптации рецепторов и прочих нейробиологических вещах, ибо это трудно, плохо исследовано и не передает суть).
Пункт номер два крайне похож на перплексию, не находите? Но вместо слов в предложении выступают "параметры" данного события, вместо модели - ваш жизненный опыт.
Более того, для события можно прикинуть его вероятность, не вдаваясь в детали - достаточно посмотреть на а) его распространенность в большой человеческой популяции (жители вашего города/страны/большой социальной группы) и б) приблизить вероятность совпадения такого события и вас с помощью, например, оценки схожести данного события с предыдущими событиями в вашей жизни.
Я стал пользоваться данным подходом для принятия решений по поводу своего досуга/развлечений/etc., и он действительно помогает. В целом, мы руководствуемся схожим подходом, но если делать это не неосознанно, а разложить на составляющие, то жить становится чуточку проще и неопределенность понижается.
Это достаточно полное описание того, о чем же на самом деле гедонизм. Гедонист выступает в качестве агента, максимизирующего произведения абсолютной величины дофамина и перплексии опыта.
Тут есть еще одна интересная мысль для анализа - применить формулу Байеса (см. картинку 2, H_T - ваш жизненный опыт до события S_T, S_T - событие, произошедшее в момент T).
И все абсолютно логично. Чем меньше P(H_T), тем меньше перплексия - вас сложнее удивить, у вас необычный бэкграунд и в вашей жизни происходит больше неординарных с точки зрения человечества событий. Соответственно, с уменьшением P(S_T) ценность опыта растет из-за его уникальности. Действительно интересный множитель тут это P(H_T | S_T), то есть то, насколько ваш личный жизненный опыт уникален относительно других людей, с которыми это событие произошло.
Каждую из этих компонент можно посчитать, пусть и неточно (ибо это требует полной информации обо всем человечестве), но тем не менее.
В целом жизнь кажется сильно проще, когда вы можете ее посчитать, не находите?
Forwarded from Мальцев: Карьера с AI
Сейчас особенно чувствую, как у меня и знакомых из-за шквала запросов «срочно надо помочь сделать эту штуку для роста» начало проседать качество решения задач.
Больше всего болит именно постановка задачи, ведь без нормального описания нет и адекватного результата.
Гении менеджмента давно придумали 5W1H и SMART для уточнения задачи, но при текущих скоростях работы уже на 5-й вопрос (а их там более 10) этих фреймворков заказчик часто отвечает «нет времени, подумай и догадайся сам»
Три из мира машин
И одно из мира людей
Ты являешься бизнес-консультантом из McKinsey с 20-летним опытом работы и помогаешь мне качественно выполнить поставленную передо мной задачу.
Твоя основная роль — помочь максимально глубоко и системно продумать подход к решению задачи, выявить как явные, так и скрытые цели, определить возможные метрики успеха и качественные критерии оценки результата, обозначить важные нюансы и особенности, предусмотреть потенциальные риски, а также предложить четкие и последовательные шаги для выполнения задачи.
У меня есть только следующие вводные:
1. Контекст
[Напиши что случилось и почему задача возникла именно сейчас]
[Напиши кто является заказчиком задачи, какая его роль и заинтересованность]
[Напиши какая твоя роль в рамках этой задачи, полномочия и зона ответственности]
2. Задача
[Вставь текст запроса что конкретно необходимо сделать, прямо все сообщение что тебя попросили сделать]
[Напиши какой конкретный результат ожидается получить к какому сроку]
3. Критерий качества
[Напиши какие критерии качества выполнения задачи наиболее важны и должны быть соблюдены. Приоритет 1 - ,2 - ,3 - ]
4. С кем работать
[Напиши кого необходимо вовлечь в решение задачи и почему]
После того, как я предоставлю вышеуказанные вводные, сделай подробный и структурированный анализ задачи, включая обязательные разделы:
1. Явные и скрытые цели задачи — поясни, какие более глубокие или неочевидные эффекты и последствия реализации задачи могут быть важны и полезны заказчику или компании.
2. Предлагаемые метрики успеха и критерии качества — опиши, как можно будет объективно понять, что задача выполнена успешно и качественно, и по каким показателям это измерить.
3. Особенности и тонкости, которые важно учесть — обозначь важные моменты, ограничения или нюансы, которые могут повлиять на качество и эффективность результата или подход к реализации задачи.
4. Потенциальные риски реализации — выяви риски и трудности, которые могут помешать успешному выполнению задачи или снизить эффективность результата, а также кратко предложи возможные меры по минимизации этих рисков.
5. Рекомендуемые этапы выполнения задачи — представь ясный и последовательный план действий, разбитый на отдельные этапы с кратким пояснением каждого шага.
В результате у меня должна получиться детальная картина задачи и понятный, обоснованный подход к ее эффективному и качественному выполнению.
При разработке ответа используй рассуждения, логику, дедукцию и аргументацию.
P.S. В промпте расписаны все логические цепочки рассуждений, которые необходимы и человеку для решения любой задачи😉
❤️ и 👍 - если пост полезен, сегодня закину в комменты несколько примеров работы GPT по постановке задачи выше
💬 - поделитесь как у вас в этом году с потоком задач и как вы с ним справляетесь, мне интересно 🙂
Мальцев: Карьера. Маркетинг. AI.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevFM
Value Stream Mapping
В рамках анализа затыков в процессе поставки релизов наткнулся на статью, рассказывающую о Value Stream Mapping (VSM).
Value Stream Mapping — метод визуализации процесса работы. Он помогает увидеть весь процесс от начала написания кода до деплоя в прод, выявить узкие места и наметить улучшения.
Но, прежде чем строить карту потока, важно понять, зачем мы это делаем. Здесь помогает Outcome Mapping:
1. Собираем ключевых участников.
2. Формулируем, какую стратегическую задачу мы хотим решить.
3. Записываем проблемы, вопросы, идеи.
4. Группируем их, выбираем главную область для улучшения.
5. Формулируем конкретный и измеримый результат.
В статье ещё приводится несколько конкретных примеров Outcome mapping.
Теперь можно перейти к построению VSM.
Что нужно отразить на карте:
— Ключевые шаги — от написания кода до деплоя, тут важно выбрать для себя достаточный уровень детализации процесса, но это можно сделать только эмпирическим путем.
— Задержки — проанализировать и отразить места, где работа простаивает.
— Хенд-оффы — уделить особое внимание на передачу задачи между командами, например, между анализом и разработкой.
— Время ожидания — время, когда кто-то на каком-то этапе кого-то ждет
В целом и раньше подобное делали, но не использовали какую-то конкретную практику. Теперь попробуем применить. Расскажите, применяете ли вы что-то подобное на практике? Как ищете узкие места?
На тему ускорения процесса доставки у нас был пост, где мы анализировали источники багов.
А сократить путь бага нам помогает табличка с зонами ответственности.
#systemdesign
В рамках анализа затыков в процессе поставки релизов наткнулся на статью, рассказывающую о Value Stream Mapping (VSM).
Value Stream Mapping — метод визуализации процесса работы. Он помогает увидеть весь процесс от начала написания кода до деплоя в прод, выявить узкие места и наметить улучшения.
Но, прежде чем строить карту потока, важно понять, зачем мы это делаем. Здесь помогает Outcome Mapping:
1. Собираем ключевых участников.
2. Формулируем, какую стратегическую задачу мы хотим решить.
3. Записываем проблемы, вопросы, идеи.
4. Группируем их, выбираем главную область для улучшения.
5. Формулируем конкретный и измеримый результат.
В статье ещё приводится несколько конкретных примеров Outcome mapping.
Теперь можно перейти к построению VSM.
Что нужно отразить на карте:
— Ключевые шаги — от написания кода до деплоя, тут важно выбрать для себя достаточный уровень детализации процесса, но это можно сделать только эмпирическим путем.
— Задержки — проанализировать и отразить места, где работа простаивает.
— Хенд-оффы — уделить особое внимание на передачу задачи между командами, например, между анализом и разработкой.
— Время ожидания — время, когда кто-то на каком-то этапе кого-то ждет
В целом и раньше подобное делали, но не использовали какую-то конкретную практику. Теперь попробуем применить. Расскажите, применяете ли вы что-то подобное на практике? Как ищете узкие места?
На тему ускорения процесса доставки у нас был пост, где мы анализировали источники багов.
А сократить путь бага нам помогает табличка с зонами ответственности.
#systemdesign
dora.dev
DORA | Value stream mapping for software delivery
DORA is a long running research program that seeks to understand the capabilities that drive software delivery and operations performance. DORA helps teams apply those capabilities, leading to better organizational performance.
Forwarded from Knowledge Accumulator
Конкретный автоэнкодер [2019] и его улучшение [2024]
Итак, обычно в автоэнкодерах мы решаем задачу сжатия изначального вектора фичей в пространство маленькой размерности. Мы обучаем энкодер
Конкретный автоэнкодер ставит задачу более интересным образом - вместо перевода вектора фичей в скрытое пространство мы хотим выбрать список фичей в
Иначе говоря, какие фичи содержат наибольшее количество информации, которое позволит восстановить исходный вектор
Слово "конкретный" в названии - "concrete" - на самом деле сокращение от Continuous Discrete - это параллельное изобретение того самого Gumbel Softmax трюка, который я описывал в позапрошлом посте.
Единственным параметром энкодера является матрица
Делая это независимо K раз, мы выбираем K фичей, которые и становятся выходом энкодера. В базовой статье про конкретный автоэнкодер иллюстрация на MNIST демонстрируют способность такой схемы обучиться игнорировать пиксели по краям и при этом задействовать по 1 пикселю из всех остальных частей картинки, никогда не беря соседние. Эксперименты на других датасетах там тоже есть.
Indirectly Parameterized CAE - улучшение данного подхода. Я с CAE не развлекался, но утверждается, что у базовой модели есть проблемы со стабильностью обучения, а также она почему-то всё же дублирует фичи по несколько раз, что, вроде как, тоже связано с этой нестабильностью.
Один простой трюк очень сильно улучшает ситуацию. Вместо обучаемой матрицы
Честно говоря, в статье не хватает нормальной мотивации и интуиции, но, судя по результатам, у них это обучается гораздо лучше бейзлайна и всегда выдаёт уникальные фичи.
Главный вопрос - а нахрена вообще всё это нужно?
Внезапно эта идея имеет отличное практическое применение в нейросетях, а именно для проведения Feature Selection! В ситуации, когда обучать сеть супердорого и вы можете позволить это делать единичное число раз, а фичей у вас тысячи, использование Конкретного Энкодера в самом начале модели позволяет обучить Selection
Коллеги рапортуют о том, что у нас это заработало, так что, с чистой совестью делюсь хаком.
@knowledge_accumulator
Итак, обычно в автоэнкодерах мы решаем задачу сжатия изначального вектора фичей в пространство маленькой размерности. Мы обучаем энкодер
q(z|x) и декодер p(x|z) таким образом, чтобы у нас получалось восстановить изначальный вектор x из вектора скрытых переменных z.Конкретный автоэнкодер ставит задачу более интересным образом - вместо перевода вектора фичей в скрытое пространство мы хотим выбрать список фичей в
x, который и будет этим самым вектором скрытых переменных.Иначе говоря, какие фичи содержат наибольшее количество информации, которое позволит восстановить исходный вектор
x наилучшим образом? Конкретный автоэнкодер решает именно эту задачу. Слово "конкретный" в названии - "concrete" - на самом деле сокращение от Continuous Discrete - это параллельное изобретение того самого Gumbel Softmax трюка, который я описывал в позапрошлом посте.
Единственным параметром энкодера является матрица
KxN - размерность скрытого вектора на кол-во фичей. В каждой строке у нас находится обучаемый вектор "логитов" для каждой фичи, к которому мы применяем Gumbel Softmax и получаем soft one-hot вектор-маску для всех фичей, которую затем скалярно умножаем на исходный вектор фичей - получая таким образом дифференцируемую аппроксимацию выбора одной фичи из всего списка. Делая это независимо K раз, мы выбираем K фичей, которые и становятся выходом энкодера. В базовой статье про конкретный автоэнкодер иллюстрация на MNIST демонстрируют способность такой схемы обучиться игнорировать пиксели по краям и при этом задействовать по 1 пикселю из всех остальных частей картинки, никогда не беря соседние. Эксперименты на других датасетах там тоже есть.
Indirectly Parameterized CAE - улучшение данного подхода. Я с CAE не развлекался, но утверждается, что у базовой модели есть проблемы со стабильностью обучения, а также она почему-то всё же дублирует фичи по несколько раз, что, вроде как, тоже связано с этой нестабильностью.
Один простой трюк очень сильно улучшает ситуацию. Вместо обучаемой матрицы
KxN используется Indirect Parameterization - эта матрица вычисляется как функция от 3 обучаемых штук: умножения матрицы KxN на матрицу NxN и прибавления вектора размера N к каждой строке результата.Честно говоря, в статье не хватает нормальной мотивации и интуиции, но, судя по результатам, у них это обучается гораздо лучше бейзлайна и всегда выдаёт уникальные фичи.
Главный вопрос - а нахрена вообще всё это нужно?
Внезапно эта идея имеет отличное практическое применение в нейросетях, а именно для проведения Feature Selection! В ситуации, когда обучать сеть супердорого и вы можете позволить это делать единичное число раз, а фичей у вас тысячи, использование Конкретного Энкодера в самом начале модели позволяет обучить Selection
K фичей из N напрямую. При этом, если качество модели совпадает с качеством изначальной модели, можно смело выкидывать из прода целых N-K фичей. Коллеги рапортуют о том, что у нас это заработало, так что, с чистой совестью делюсь хаком.
@knowledge_accumulator
Forwarded from Data Blog
Привет, друзья! Сегодня кратко-пост
про небольшое удивительное чтение с множеством ссылок.
Рассмотрим обученную модель машинного или глубокого обучения. Как её отучить от чего-либо?
Что делать, если модель
1. гендерно или социально предвзята? [1, 2, 3]
2. отдаёт вредоносные ответы;
3. содержит данные, защищенные авторским правом или личные данные;
4. галлюцинирует
Можно ли заставить её забыть изученное? Можно и сложно.
Model (от истоков machine) unlearning (MU) — актуальная задача для больших моделей, восставшая от проблем машинного обучения. Восставшая — потому что, если рассматривать агрегаторы статей, проблема отучения редко упоминалась, чаще всего рядом с SVM, в 2000-2015 и сделала скачок с 2018 года рядом с глубокими моделями.
Что интересно, термин «механистическая интерпретируемость» тоже сперва был рядом с ML моделью SVM. Нестареющая классика!
Подходы в MU глобально разделены на 3 группы:
1. Model-Agnostic Methods (независимые от модели)
2. Model-Intrinsic Methods (встроенные в процесс обучения модели)
3. Data-Driven Methods (основанные на изменении данных)
Key Idea из методов: заставить модель забыть что-то — это больше чем про полное переобучение (потому что это чаще будет дорого). Если посмотреть на подходы «очень сверху», то мы можем:
1. Применять обучение с подкреплением (проводить хитрый файн-тюнинг);
2. Выполнять градиентный подъем по примерам под забывание (проводить хитрый файн-тюнинг);
3. Модифицировать пространство обучения (менять данные, чтобы проводить хитрый файн-тюнинг или обучение)
4. Использовать различные методы файн-тюнинга (LoRA, KL-divergence based etc) (снова проводить хитрый файн-тюнинг)
5. Накладывать условие на изменение параметров модели для конкретных примеров (проводить хитрое обучение/дообучение (снова файн-тюнинг));
6. Находить параметры, отвечающие за конкретное поведение и занулять их (не однозначный, но валидный к жизни метод, так как также важно показать, что зануление не вызвало других нежелательных поведенческих изменений)
Быть может, я не докопала до идей глубже (и если вы знаете что-то — welcome в комментарии!), но отучение преимущественно построено на генерации гипотез о том, как дообучить модель или же как устранить нежелательное поведение точечно (если говорить о "выключении" активаций).
Ещё интересно, что хотя статьи 1-3 также сосредоточены на устранении точечных признаков/паттернов поведения, термин "unlearning" в них явно не упоминается. Это может усложнять, как мне кажется, будущие обзоры и поиск литературы — необходимо генерировать и анализировать смежные ключи. Будьте всегда внимательны)
Пара полезных ссылок про Unlearning:
1. Глубокая детализация подходов для MU здесь.
2. Репозиторий, собирающий статьи по MU
Такой мини-обзор, друзья! Само наличие класса исследований про unlearning просто вдохновляет — чем больше модели, тем будто бы больше задач нам нужно решать.
Бесконечная область, выходит :)
Отличного вам вечера,
Ваш Дата автор!
про небольшое удивительное чтение с множеством ссылок.
Рассмотрим обученную модель машинного или глубокого обучения. Как её отучить от чего-либо?
Что делать, если модель
1. гендерно или социально предвзята? [1, 2, 3]
2. отдаёт вредоносные ответы;
3. содержит данные, защищенные авторским правом или личные данные;
4. галлюцинирует
Можно ли заставить её забыть изученное? Можно и сложно.
Model (от истоков machine) unlearning (MU) — актуальная задача для больших моделей, восставшая от проблем машинного обучения. Восставшая — потому что, если рассматривать агрегаторы статей, проблема отучения редко упоминалась, чаще всего рядом с SVM, в 2000-2015 и сделала скачок с 2018 года рядом с глубокими моделями.
Что интересно, термин «механистическая интерпретируемость» тоже сперва был рядом с ML моделью SVM. Нестареющая классика!
Подходы в MU глобально разделены на 3 группы:
1. Model-Agnostic Methods (независимые от модели)
2. Model-Intrinsic Methods (встроенные в процесс обучения модели)
3. Data-Driven Methods (основанные на изменении данных)
Key Idea из методов: заставить модель забыть что-то — это больше чем про полное переобучение (потому что это чаще будет дорого). Если посмотреть на подходы «очень сверху», то мы можем:
1. Применять обучение с подкреплением (проводить хитрый файн-тюнинг);
2. Выполнять градиентный подъем по примерам под забывание (проводить хитрый файн-тюнинг);
3. Модифицировать пространство обучения (менять данные, чтобы проводить хитрый файн-тюнинг или обучение)
4. Использовать различные методы файн-тюнинга (LoRA, KL-divergence based etc) (снова проводить хитрый файн-тюнинг)
5. Накладывать условие на изменение параметров модели для конкретных примеров (проводить хитрое обучение/дообучение (снова файн-тюнинг));
6. Находить параметры, отвечающие за конкретное поведение и занулять их (не однозначный, но валидный к жизни метод, так как также важно показать, что зануление не вызвало других нежелательных поведенческих изменений)
Быть может, я не докопала до идей глубже (и если вы знаете что-то — welcome в комментарии!), но отучение преимущественно построено на генерации гипотез о том, как дообучить модель или же как устранить нежелательное поведение точечно (если говорить о "выключении" активаций).
Ещё интересно, что хотя статьи 1-3 также сосредоточены на устранении точечных признаков/паттернов поведения, термин "unlearning" в них явно не упоминается. Это может усложнять, как мне кажется, будущие обзоры и поиск литературы — необходимо генерировать и анализировать смежные ключи. Будьте всегда внимательны)
Пара полезных ссылок про Unlearning:
1. Глубокая детализация подходов для MU здесь.
2. Репозиторий, собирающий статьи по MU
Такой мини-обзор, друзья! Само наличие класса исследований про unlearning просто вдохновляет — чем больше модели, тем будто бы больше задач нам нужно решать.
Бесконечная область, выходит :)
Отличного вам вечера,
Ваш Дата автор!