This media is not supported in your browser
VIEW IN TELEGRAM
Пересматриваю доклад прошлогоднего ArchDays и прям сердечко ёкает
👍1
Forwarded from DDDevotion
Извините, сегодня не про DDD, но я уверен, что наша индустрия безвозвратно меняется. И проблемы которые мы обсуждали последнее время просто перестанут быть актуальными.
Например, создание кастомной GPT – нам больше не нужна база знаний, мы все наши знания (в том числе код) загрузим в GPT. И любой разраб сможет писать туда вопросы и новые знания. И доменные эксперты тоже. Причем они смогут не только загружать ответы, но и спрашивать «а как оно сейчас-то реализовано?»
Очень резонировал спич Сатьи про инфраструктуру – да, кто-то должен думать про электричество и сервера, но в итоге мы поднимаемся по слоям абстракций все выше. И новый уровень программирования уже на пороге. Только не понимаю пока что, какое знание/ценность условный я буду добавлять.
https://www.youtube.com/watch?v=U9mJuUkhUzk
Например, создание кастомной GPT – нам больше не нужна база знаний, мы все наши знания (в том числе код) загрузим в GPT. И любой разраб сможет писать туда вопросы и новые знания. И доменные эксперты тоже. Причем они смогут не только загружать ответы, но и спрашивать «а как оно сейчас-то реализовано?»
Очень резонировал спич Сатьи про инфраструктуру – да, кто-то должен думать про электричество и сервера, но в итоге мы поднимаемся по слоям абстракций все выше. И новый уровень программирования уже на пороге. Только не понимаю пока что, какое знание/ценность условный я буду добавлять.
https://www.youtube.com/watch?v=U9mJuUkhUzk
YouTube
OpenAI DevDay: Opening Keynote
Join us for the opening keynote from OpenAI DevDay — OpenAI’s first developer conference.
We’re gathering developers from around the world for an in-person day of programming to learn about the latest AI advancements and explore what lies ahead.
New models…
We’re gathering developers from around the world for an in-person day of programming to learn about the latest AI advancements and explore what lies ahead.
New models…
Forwarded from emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc. (Ivan Zakrevsky)
Кратко о fitness functions. Любое приложение всегда стремится к энтропии. Как говорил известный в ИТ-индустрии Gregor Hohpe:
💬 It’s almost like enterprise IT is subject to the Second Law of Thermodynamics, which concludes that the entropy in an (isolated) system can never decrease - at best it can be constant, but usually it increases.
-- "Here’s why enterprise IT is so complex" by Gregor Hohpe
Технически невозможно контролировать качество работы каждого разработчика. Это побуждает индустрию искать способы поддержания качества архитектуры на принципиальном уровне. Одним из таких способов является Evolutionary Architecture.
Генетический механизм репродукции реализует адаптивный способ разрешения неопределенности.
Причина его существования заключается в том, что никто не знает какие условия обитания будут на планете завтра. Т.е. имеет место неопределенность условий существования. Вдруг завтра прилетит метеорит и изменится состав атмосферы?
В связи с этим, двуполое размножение обеспечивает постоянную генерацию новых генетических комбинаций. Мы просто не знаем какая именно генетическая комбинация окажется наиболее приспособленной к завтрашним условиям окружающей среды.
Те генетические комбинации, которые слабо приспособлены к текущим условиям окружающей среды, не должны препятствовать распространению более приспособленных комбинаций. Иными словами, если существует механизм формирования разнообразия генетических комбинаций, то должен существовать и механизм истребления слабо приспособленных генетических комбинаций. Именно поэтому двуполый механизм репродукции не может выполнять свои функции без хищников, назначение которых сводится к истреблению слабо приспособленных генетических комбинаций. Т.е. к селекции. Это как пропалывание грядки.
Зачастую проблема кодовой базы заключается в том, что никто и ничто не выполняет роль этого самого хищника, истребляющего несоответствующие решения. Поэтому больные решения хорошо размножаются.
Robert Martin говорил, что архитектура - это о том, как не надо делать. Иными словами, архитектурное решение - это сокращение количества возможных вариантов. Т.е. архитектура должна выполнять хищнические функции.
Чем отличаются собаки от волков? Волк имеет естественных врагов-хищников, а собаки - нет.
Вместо хищников, процесс селекции собак выполняют выставки и стандарты пород, которые фиксируют желаемые свойства пород.
Выводок, не соответствующий требованиям стандарта породы и допустимым пределам отклонения, отбраковывается и не получает сертификат соответствия. Его рыночная ценность падает, и он не используется заводчиками для репродукции.
По мере возникновения исторических изменений в породе, в стандарт вносятся изменения, требования ужесточаются, что обеспечивает прогресс породы.
Этот же принцип положен в основу Evolutionary Architecture. Архитектор выступает в роли автора стандарта породы, а разработчик - в роли заводчика, который выбирает (путём сравнения) для репродукции такой экземпляр породы из всех возможных, который наилучшим образом соответствует стандарту.
Роль стандарта породы выполняют fitness functions (функции соответствия, приспособленности). Они позволяют разработчикам измерить степень соответствия старого варианта системы и нового, и выбрать тот, который соответствует требованиям наилучшим образом.
Понимая, что требования fitness functions будут ужесточаться, разработчик всегда стремится увеличивать запас по требованиям , что вынуждает искать его новые решения и постоянно повышать собственный уровень знаний.
Хотя fitness functions выполняют охранные функции, препятствуя деградации свойств системы, главная их ценность заключается не в этом, а в создании благоприятных условий для постоянного развития уровня квалификации специалистов.
Наиболее важными я считаю fitness functions с нагрузочным и объемным тестированием, которые мгновенно выявляют костыльные запросы и побуждают разработчиков изначально закладывать в систему решения с дальним горизонтом развития, например, такие, как CQRS.
Пример реализации fitness functions.
💬 It’s almost like enterprise IT is subject to the Second Law of Thermodynamics, which concludes that the entropy in an (isolated) system can never decrease - at best it can be constant, but usually it increases.
-- "Here’s why enterprise IT is so complex" by Gregor Hohpe
Технически невозможно контролировать качество работы каждого разработчика. Это побуждает индустрию искать способы поддержания качества архитектуры на принципиальном уровне. Одним из таких способов является Evolutionary Architecture.
Генетический механизм репродукции реализует адаптивный способ разрешения неопределенности.
Причина его существования заключается в том, что никто не знает какие условия обитания будут на планете завтра. Т.е. имеет место неопределенность условий существования. Вдруг завтра прилетит метеорит и изменится состав атмосферы?
В связи с этим, двуполое размножение обеспечивает постоянную генерацию новых генетических комбинаций. Мы просто не знаем какая именно генетическая комбинация окажется наиболее приспособленной к завтрашним условиям окружающей среды.
Те генетические комбинации, которые слабо приспособлены к текущим условиям окружающей среды, не должны препятствовать распространению более приспособленных комбинаций. Иными словами, если существует механизм формирования разнообразия генетических комбинаций, то должен существовать и механизм истребления слабо приспособленных генетических комбинаций. Именно поэтому двуполый механизм репродукции не может выполнять свои функции без хищников, назначение которых сводится к истреблению слабо приспособленных генетических комбинаций. Т.е. к селекции. Это как пропалывание грядки.
Зачастую проблема кодовой базы заключается в том, что никто и ничто не выполняет роль этого самого хищника, истребляющего несоответствующие решения. Поэтому больные решения хорошо размножаются.
Robert Martin говорил, что архитектура - это о том, как не надо делать. Иными словами, архитектурное решение - это сокращение количества возможных вариантов. Т.е. архитектура должна выполнять хищнические функции.
Чем отличаются собаки от волков? Волк имеет естественных врагов-хищников, а собаки - нет.
Вместо хищников, процесс селекции собак выполняют выставки и стандарты пород, которые фиксируют желаемые свойства пород.
Выводок, не соответствующий требованиям стандарта породы и допустимым пределам отклонения, отбраковывается и не получает сертификат соответствия. Его рыночная ценность падает, и он не используется заводчиками для репродукции.
По мере возникновения исторических изменений в породе, в стандарт вносятся изменения, требования ужесточаются, что обеспечивает прогресс породы.
Этот же принцип положен в основу Evolutionary Architecture. Архитектор выступает в роли автора стандарта породы, а разработчик - в роли заводчика, который выбирает (путём сравнения) для репродукции такой экземпляр породы из всех возможных, который наилучшим образом соответствует стандарту.
Роль стандарта породы выполняют fitness functions (функции соответствия, приспособленности). Они позволяют разработчикам измерить степень соответствия старого варианта системы и нового, и выбрать тот, который соответствует требованиям наилучшим образом.
Понимая, что требования fitness functions будут ужесточаться, разработчик всегда стремится увеличивать запас по требованиям , что вынуждает искать его новые решения и постоянно повышать собственный уровень знаний.
Хотя fitness functions выполняют охранные функции, препятствуя деградации свойств системы, главная их ценность заключается не в этом, а в создании благоприятных условий для постоянного развития уровня квалификации специалистов.
Наиболее важными я считаю fitness functions с нагрузочным и объемным тестированием, которые мгновенно выявляют костыльные запросы и побуждают разработчиков изначально закладывать в систему решения с дальним горизонтом развития, например, такие, как CQRS.
Пример реализации fitness functions.
The Architect Elevator
Here’s why enterprise IT is so complex
Enterprise IT is routinely plagued by excessive complexity. It might be subject to the Second Law of Thermodynamics but it’s certainly subject to Gregor’s Law.
This media is not supported in your browser
VIEW IN TELEGRAM
Из заметки Михаила Корнеева узнал про FastStream. В целом хорошая идея с единым интерфейсом для работы с разными очередями и генерацией документации с описанием топиков и структурой сообщений. Но самым интересным показался их отдельный пакет faststream-gen для генерации кода приложения, где используется FastStream, и тестов на этот код. Для этого достаточно вести описание топиков, хостов, конкретного брокера и т.д. Правда под капотом пакет использует OpenAI API, так что нужно вводить свой ключ. С учетом быстрого развития техник по запуску LLM на локальных машинах ждём дальнейшее распространение такого подхода у авторов пакетов
👍1
Недавно слушал доклад про схожее решение с автоматизацией работы доменного эксперта. Тут пошли дальше: ассистент не только помогает с документацией, но и может в код. Явно вырисовывается тренд на 2024 год, осталось поймать волну 🏄♂️
👍2
Forwarded from Pavel Zloi
Всем привет! Хочу рассказать про ещё одну обученную мною модель под названием PavelGPT-7B-128K-v0.1-LoRA, на этот раз я взял скрипты Saiga (rulm) и модифицировал их таким образом, чтобы получить языковую модель типа INSTRUCT, но с данными оформленными в виде чата (для того чтобы её было легко использовать в связке с проектами типа text-generation-webui).
В качестве основы взял Yarn-Mistral-7b-128k, а датасеты собирал так, чтобы модель могла не только решать базовые задачи, но и отгадывать загадки, а ещё решать несложные математические задачки, писать небольшие тексты, составлять оглавление и создавать простые скрипты.
Вот все ссылочки, которые могут пригодиться:
- скрипт обучения модели
- отчёт обучения на wandb
- тестовые ответы модели в карточке на huggingface
- скрипт запуска модели
PS. Мне давно хотелось сделать себе чуть более умного помощника для работы с документацией которую я храню в Obsidian и пока что впечатления от использования данной модели более приятные чем от предыдущих моих экспериментов.
Надеюсь вам данная моделька тоже окажется полезной :)
#ai #saiga #gpt
В качестве основы взял Yarn-Mistral-7b-128k, а датасеты собирал так, чтобы модель могла не только решать базовые задачи, но и отгадывать загадки, а ещё решать несложные математические задачки, писать небольшие тексты, составлять оглавление и создавать простые скрипты.
Вот все ссылочки, которые могут пригодиться:
- скрипт обучения модели
- отчёт обучения на wandb
- тестовые ответы модели в карточке на huggingface
- скрипт запуска модели
PS. Мне давно хотелось сделать себе чуть более умного помощника для работы с документацией которую я храню в Obsidian и пока что впечатления от использования данной модели более приятные чем от предыдущих моих экспериментов.
Надеюсь вам данная моделька тоже окажется полезной :)
#ai #saiga #gpt
👍2
Походу олимпиадников автоматизируют быстрее, чем джсонукладчиков с завода 🏭
👍2
Forwarded from Knowledge Accumulator
AutoNumerics-Zero: Automated Discovery of State-of-the-Art Mathematical Functions [2023] - ещё одно AI-открытие уходящего года
Продолжаем тему оптимизации программ. Почти одновременно с FunSearch вышла другая работа от Deepmind, правда, не применяющая LLM, и поэтому попавшая только в Just Links. Идеологически она похожа на AutoML-Zero, про который я уже тоже писал пост.
Итак, мы умеем легко и быстро производить на компьютере 4 базовые арифметические операции. Однако, "трансцендентные" функции, например, экспоненту, нельзя легко посчитать. Компьютер их считает приближённо, например, с помощью ряда Тейлора. При этом, нам достаточно уметь приближать её на промежутке [0;1], т.к. в целую степень мы умеем легко возводить и таким образом получить любую степень.
Итак, задача - найти как можно более короткую / быструю программу, вычисляющую экспоненту на отрезке с заданной точностью. Авторы представляют программу в виде графа вычислений (см. картинку). Вершинами является вход x, выход f, константы и математические операции, в которые по направленным рёбрам попадают входные данные.
Генетический алгоритм поддерживает популяцию графов, случайно добавляет мутации в них - добавление вершин, удаление, замена ребра и т.д. Оптимизируется одновременно точность и скорость (кол-во операций или время исполнения). Так как у нас 2 важных критерия отбора, используется специальный алгоритм сортировки популяции, выбирающий программы, сбалансированные по-разному с точки зрения критериев.
В результате, алгоритм не оставляет камня на камне от бейзлайнов, созданных приматами. Количество операций сокращается примерно в 2 раза, но это не самое крутое. Алгоритм подбирает функции так, чтобы компилятор оптимизировал их наиболее выгодно, в итоге скорость возрастает в >3 раза.
И вновь кожанные мешки показывают свою несостоятельность в сложных многослойных задачах, которые нельзя разбить на изолированные кусочки. End-to-end алгоритмическая оптимизация не оставляет нам никаких шансов.
@knowledge_accumulator
Продолжаем тему оптимизации программ. Почти одновременно с FunSearch вышла другая работа от Deepmind, правда, не применяющая LLM, и поэтому попавшая только в Just Links. Идеологически она похожа на AutoML-Zero, про который я уже тоже писал пост.
Итак, мы умеем легко и быстро производить на компьютере 4 базовые арифметические операции. Однако, "трансцендентные" функции, например, экспоненту, нельзя легко посчитать. Компьютер их считает приближённо, например, с помощью ряда Тейлора. При этом, нам достаточно уметь приближать её на промежутке [0;1], т.к. в целую степень мы умеем легко возводить и таким образом получить любую степень.
Итак, задача - найти как можно более короткую / быструю программу, вычисляющую экспоненту на отрезке с заданной точностью. Авторы представляют программу в виде графа вычислений (см. картинку). Вершинами является вход x, выход f, константы и математические операции, в которые по направленным рёбрам попадают входные данные.
Генетический алгоритм поддерживает популяцию графов, случайно добавляет мутации в них - добавление вершин, удаление, замена ребра и т.д. Оптимизируется одновременно точность и скорость (кол-во операций или время исполнения). Так как у нас 2 важных критерия отбора, используется специальный алгоритм сортировки популяции, выбирающий программы, сбалансированные по-разному с точки зрения критериев.
В результате, алгоритм не оставляет камня на камне от бейзлайнов, созданных приматами. Количество операций сокращается примерно в 2 раза, но это не самое крутое. Алгоритм подбирает функции так, чтобы компилятор оптимизировал их наиболее выгодно, в итоге скорость возрастает в >3 раза.
И вновь кожанные мешки показывают свою несостоятельность в сложных многослойных задачах, которые нельзя разбить на изолированные кусочки. End-to-end алгоритмическая оптимизация не оставляет нам никаких шансов.
@knowledge_accumulator
👍2
Довольно занимательная статья, как писать вики будущего
Dmitry Soshnikov AKA shwars
Создаём предметно-ориентированного чат-бота с помощью LangChain и Yandex GPT
Большие языковые модели могут прекрасно поддерживать разговор на общие темы, но как же быть, если необходимо добавить такому чат-боту предметных знаний? Посмотрим, как использовать подход Retrieval-Augmented Generation для создания такого предметного чат…
👍3
Forwarded from Love. Death. Transformers.
Мы релизнули вихрь💨 Нормально.
Проблемы: мы не очень уверены что оно точно аутперформит mistral и saiga mistral. Формально - да, все хорошо.
Цитируя классику
Если вам интересно что мы сделали: хабр
А еще оформили все в красивую HF репу: https://huggingface.co/Vikhrmodels
Проблемы: мы не очень уверены что оно точно аутперформит mistral и saiga mistral. Формально - да, все хорошо.
Цитируя классику
Если вам интересно что мы сделали: хабр
А еще оформили все в красивую HF репу: https://huggingface.co/Vikhrmodels
👍2