Заголовок: Тренируем маленькие модели на меньшем количестве данных и получаем лучше результаты чем большие модели.
Ожидание: сейчас расскажут новый метод или архитектуру
Реальность: файнтюним Т0 на 770М параметров на 80% данных и показываем лучше результаты чем few-shot на PaLM 🙈
Ожидание: сейчас расскажут новый метод или архитектуру
Реальность: файнтюним Т0 на 770М параметров на 80% данных и показываем лучше результаты чем few-shot на PaLM 🙈
Добавил новые заметки про самые интересные постеры в первый день ACL 2023. Это первая часть заметок за тот день, поскольку интересных публикаций было очень много, я решил их разделить на несколько частей.
#ACL2023 #заметки
#ACL2023 #заметки
Deep learning
ACL 2023 Day 1 (Posters, part 1)
Improving the Robustness of Summarization Systems with Dial Augmentation Motivation A robust summarization system should be able to capture the gist of the document, regardless of the specific word choices or noise in the input.
Добавил новые заметки про самые интересные постеры в первый день ACL 2023. Это вторая часть заметок, где я разбираю новые архитектуры, методы оценки и новый фреймворк для интерпритации языковых моделей.
#ACL2023 #заметки
#ACL2023 #заметки
Deep learning
ACL 2023 Day 1 (Posters, part 2)
DIONYSUS: A Pre-trained Model for Low-Resource Dialogue Summarization Motivation
В интернете часто встречаются посты о том, что OpenAI со временем урезает возможности своих генерирующий систем.
Исследователи из Беркли и Стенфорда решили проверить как меняется поведение GPT-3.5 и GPT-4 с течением времени. Сравнивались результаты генерации в марте и июне.
Исследование показало, что не всё так однозначно, и в действительности в некоторых заданиях результаты ухудшились, однако в некоторых заданиях были и улучшения или результаты оказались примерно на том же уровне.
Как и другие сервисы, OpenAI развивает свои продукты и результаты со временем могут меняться. Поэтому если ваш продукт имеет прямую зависимость от сторонних серисов, то важно периодически отслеживать результаты выхода этих систем.
Исследователи из Беркли и Стенфорда решили проверить как меняется поведение GPT-3.5 и GPT-4 с течением времени. Сравнивались результаты генерации в марте и июне.
Исследование показало, что не всё так однозначно, и в действительности в некоторых заданиях результаты ухудшились, однако в некоторых заданиях были и улучшения или результаты оказались примерно на том же уровне.
Как и другие сервисы, OpenAI развивает свои продукты и результаты со временем могут меняться. Поэтому если ваш продукт имеет прямую зависимость от сторонних серисов, то важно периодически отслеживать результаты выхода этих систем.
В этом видео начинаю серию роликов о принципах работы нейронных сетей. В видео будем симулировать функцию XOR.
Так же рассмотрим некоторые функции активации и для чего необходима нелинейность в нейронных сетях.
Так же рассмотрим некоторые функции активации и для чего необходима нелинейность в нейронных сетях.
YouTube
Принцип работы нейронной сети
Рассмотрен принцип работы искусственных нейронных сетей на примере функции XOR. Так же затронута тема функций активации и нелинейности в нейронных сетях.
0:00 Классификация изображений
1:06 Свойства нейронных сетей
1:54 Проблема XOR
3:16 Функции активации…
0:00 Классификация изображений
1:06 Свойства нейронных сетей
1:54 Проблема XOR
3:16 Функции активации…
Спустя некоторый перерыв, всё же продолжаю выкладывать заметки об ACL 2023. В данной статье привожу заметки о 2-ом дне.
Среди них вы найдёте:
* DarkBERT - новая модель, которая натренирована на страницах из даркнета.
* LENS - обучаемая метрика для оценки упрощения текста
* Несколько новых и интересных датасетов, а так же методов более эффективного использования больших языковых моделей (LLMs)
#ACL2023 #заметки
Среди них вы найдёте:
* DarkBERT - новая модель, которая натренирована на страницах из даркнета.
* LENS - обучаемая метрика для оценки упрощения текста
* Несколько новых и интересных датасетов, а так же методов более эффективного использования больших языковых моделей (LLMs)
#ACL2023 #заметки
Deep learning
ACL 2023 Day 2 (Posters)
DarkBERT: A Language Model for the Dark Side of the Internet
OpenAI - Продаём мечту (но без гарантий)
Недавно прогремела очередная новость от OpenAI. Они выпустят новую модель, которая будет принимать контекст в 128к токенов (±360 страниц текста). Не обошли стороной и вопрос мультимодальности (когда модель может принимать как текст, так и изображения, так и звук и так далее), тут тоже есть обновления, новые модели, расширены возможности API.
Можешь подумать: "Что ещё можно пожелать?" Наверное, чтоб было дешевле чем сейчас, а лучше вообще бесплатно. Конечно совсем бесплатно не получится, зато в 2-3 раза дешевле - запросто.
На этом моменте многие разработчики могут просто начать писать письмо своим начальникам с мольбой, чтобы их не увольняли (иначе искусственный интеллект их просто заменит), а хотя бы просто понизили зарплату и должность. (Или нет?)
Что на самом деле тебе, маленькому атланту или разработчику, даёт OpenAI? Тебе дают мечту о том, как сколотить свой новый стартап из ...подручных материалов, ну или писать код в 2-3-5-20-100 раз быстрее и эффективнее (будто качество твоей работы ограничивается лишь скоростью твоей печати, ну или скоростью придумывания переменных).
Во время выступления, было показано демо, о том, как на практике можно применять их решения, на примере приложения для туризма. Такое приложение смогло сгенерировать идеи для путешествий, отметить места которые стоит посетить на карте, обработать файл с авиабилетом, в котором распознала даты путешествия и далее нашла место для ночлега на эти даты в Airbnb. Нет, ну это же просто БОМБА! На этом месте Booking и TripAdvisor должны были просто выйти изчата зала и позакрывать свои шарашкины конторы сайты. Но, к сожалению, этого не случится, ведь пользоваться таким приложением невозможно. Так как оно работает только на ...localhost (то есть только на компьютере разработчика).
Но почему бы OpenAI не выпустить такое приложение? У них же прямой доступ к своим моделям, причём раньше всех остальных (а можно и вообще никому доступ к своей базе и коду не давать, как все и делают)! Всё дело в том, что продавать модели - это и есть их бизнес. Если бы эти модели были бы действительно настолько хорошими, как они нам заявляют и показывают на демо, то никто бы их никогда и не увидел. Зачем упускать такое преимущество над конкурентами и давать им тоже шанс, когда задача сводится просто к тому, чтобы просто заработать деньги?
Поскольку они просто продают тебе доступ к их моделям, они никакой ответственности не несут перед тобой и твоими клиентами, если их модель выдаст неверный результат. Что и указано в их terms of use. Их услуги предоставляются "как есть" (THE SERVICES ARE PROVIDED “AS IS.”). Максимум, на что ты можешь расчитывать, это что тебе вернут затраты на запросы в их API (если цена не превышает $100).
В итоге, их бизнес напоминает просто казино. Где у тебя есть шанс выиграть, но с большей вероятностью, ты просто вылетишь в трубу, не забыв оплатить счёт за использование моделей от OpenAI.
Недавно прогремела очередная новость от OpenAI. Они выпустят новую модель, которая будет принимать контекст в 128к токенов (±360 страниц текста). Не обошли стороной и вопрос мультимодальности (когда модель может принимать как текст, так и изображения, так и звук и так далее), тут тоже есть обновления, новые модели, расширены возможности API.
Можешь подумать: "Что ещё можно пожелать?" Наверное, чтоб было дешевле чем сейчас, а лучше вообще бесплатно. Конечно совсем бесплатно не получится, зато в 2-3 раза дешевле - запросто.
На этом моменте многие разработчики могут просто начать писать письмо своим начальникам с мольбой, чтобы их не увольняли (иначе искусственный интеллект их просто заменит), а хотя бы просто понизили зарплату и должность. (Или нет?)
Что на самом деле тебе, маленькому атланту или разработчику, даёт OpenAI? Тебе дают мечту о том, как сколотить свой новый стартап из ...подручных материалов, ну или писать код в 2-3-5-20-100 раз быстрее и эффективнее (будто качество твоей работы ограничивается лишь скоростью твоей печати, ну или скоростью придумывания переменных).
Во время выступления, было показано демо, о том, как на практике можно применять их решения, на примере приложения для туризма. Такое приложение смогло сгенерировать идеи для путешествий, отметить места которые стоит посетить на карте, обработать файл с авиабилетом, в котором распознала даты путешествия и далее нашла место для ночлега на эти даты в Airbnb. Нет, ну это же просто БОМБА! На этом месте Booking и TripAdvisor должны были просто выйти из
Но почему бы OpenAI не выпустить такое приложение? У них же прямой доступ к своим моделям, причём раньше всех остальных (а можно и вообще никому доступ к своей базе и коду не давать, как все и делают)! Всё дело в том, что продавать модели - это и есть их бизнес. Если бы эти модели были бы действительно настолько хорошими, как они нам заявляют и показывают на демо, то никто бы их никогда и не увидел. Зачем упускать такое преимущество над конкурентами и давать им тоже шанс, когда задача сводится просто к тому, чтобы просто заработать деньги?
Поскольку они просто продают тебе доступ к их моделям, они никакой ответственности не несут перед тобой и твоими клиентами, если их модель выдаст неверный результат. Что и указано в их terms of use. Их услуги предоставляются "как есть" (THE SERVICES ARE PROVIDED “AS IS.”). Максимум, на что ты можешь расчитывать, это что тебе вернут затраты на запросы в их API (если цена не превышает $100).
В итоге, их бизнес напоминает просто казино. Где у тебя есть шанс выиграть, но с большей вероятностью, ты просто вылетишь в трубу, не забыв оплатить счёт за использование моделей от OpenAI.
Отвечая на комментарий к предыдущему посту: «Это к вопросу о том, зачем продавать нефть коли бензин продавать выгоднее)))»
Не совсем. Во-первых, нефть и бензин - это сырьё и продукт низкого передела, а их модели - это высокотехнологичный продукт. Во-вторых, это уже больше политика. Например, бензин экспортировать мы вам запретим, а нефть, из которой мы потом сами сделаем что нам нужно, мы разрешим.
Речь о том, что OpenAI продают тебе идею, которая в реальности малоприменима. Вот так, напрямую с клиентом, генеративная модель работать не будет. Нужно либо выставлять жёсткие ограничения на вывод модели, либо в ручную это контролировать, либо тоже заявлять, что мы за результаты ответственности не несём.
Тривиальный пример. Представим себе ситуацию, в твоём приложении пишут запрос: «хочу посетить Санкт-Петербург, штат Флорида. Куда мне сходить?» А тебе отвечают: «в Эрмитаж и Зимний дворец.» В данном случае, ответственность за неправильный результат небольшая. А что если задача дать рекомендацию по лечению или профилактике заболевания?
О том, как можно и нужно использовать модели от OpenAI (и другие генеративные модели) постараюсь ответить чуть позже.
Не совсем. Во-первых, нефть и бензин - это сырьё и продукт низкого передела, а их модели - это высокотехнологичный продукт. Во-вторых, это уже больше политика. Например, бензин экспортировать мы вам запретим, а нефть, из которой мы потом сами сделаем что нам нужно, мы разрешим.
Речь о том, что OpenAI продают тебе идею, которая в реальности малоприменима. Вот так, напрямую с клиентом, генеративная модель работать не будет. Нужно либо выставлять жёсткие ограничения на вывод модели, либо в ручную это контролировать, либо тоже заявлять, что мы за результаты ответственности не несём.
Тривиальный пример. Представим себе ситуацию, в твоём приложении пишут запрос: «хочу посетить Санкт-Петербург, штат Флорида. Куда мне сходить?» А тебе отвечают: «в Эрмитаж и Зимний дворец.» В данном случае, ответственность за неправильный результат небольшая. А что если задача дать рекомендацию по лечению или профилактике заболевания?
О том, как можно и нужно использовать модели от OpenAI (и другие генеративные модели) постараюсь ответить чуть позже.
Извлечение обучающих данных из языковых моделей
Google DeepMind провели интересное исследование о том как извлекать тренировочные данные из LLM.
Суть - это использование галлюцинаций, которые "выдают" данные модели. Таким образом исследователям удалось извлечь различные персональные данные, по которым можно определить человека, различные идентификаторы и ключи, откровенный контент и так далее.
Принцип атаки очень простой. Нужно отправить запрос на повторение какого-нибудь слова, например, "poem". Через какое-то количество токенов модель начинает галлюцинировать и выдавать то, что знает.
Эта атака всё ещё работает с ChatGPT. Например мне удалось вытащить какую-то переписку с персональными данными и идентификаторами, а так же куски сайтов и кода.
Google DeepMind провели интересное исследование о том как извлекать тренировочные данные из LLM.
Суть - это использование галлюцинаций, которые "выдают" данные модели. Таким образом исследователям удалось извлечь различные персональные данные, по которым можно определить человека, различные идентификаторы и ключи, откровенный контент и так далее.
Принцип атаки очень простой. Нужно отправить запрос на повторение какого-нибудь слова, например, "poem". Через какое-то количество токенов модель начинает галлюцинировать и выдавать то, что знает.
Эта атака всё ещё работает с ChatGPT. Например мне удалось вытащить какую-то переписку с персональными данными и идентификаторами, а так же куски сайтов и кода.
В новом видео рассмотрим основные принципы обучения нейронных сетей.
Обсудим функцию потерь, градиентный спуск и алгоритм обратного распространения ошибки.
Приятного просмотра!
Обсудим функцию потерь, градиентный спуск и алгоритм обратного распространения ошибки.
Приятного просмотра!
YouTube
Обучение нейронных сетей
В этом видео обсудим функцию потерь, градиентный спуск и алгоритм обратного распространения ошибки.
Код для обучения нейронной сети: https://github.com/emukans/minDL
0:00 Введение
0:49 Функции потерь
1:36 Поиск глобального минимума
2:29 Производные функции…
Код для обучения нейронной сети: https://github.com/emukans/minDL
0:00 Введение
0:49 Функции потерь
1:36 Поиск глобального минимума
2:29 Производные функции…
Выпустил небольшую библиотеку, где на чистом питоне обучается нейронная сеть. Буквально в 100 строчек кода реализован алгоритм градиентного спуска и обратного распространения ошибки, что позволяет глубже изучить механизм обучения нейронных сетей.
Есть так же код для анимации обучения на движке manim.
Есть так же код для анимации обучения на движке manim.
GitHub
GitHub - emukans/minDL: Minimalistic set of tools for Deep Learning.
Minimalistic set of tools for Deep Learning. Contribute to emukans/minDL development by creating an account on GitHub.
Недавно посетил конференцию ACL 2024 в Бангкоке. В этой серии постов я поделюсь своей подборкой статей с конференции. Основной упор постараюсь сделать на практически применимые статьи и идеи.
Подборку открывают статьи про LLM:
* Prompt Engineering a Prompt Engineer
* Controlled Text Generation for Black-box Language Models via Score-based Progressive Editor
* Referral Augmentation for Zero-Shot Information Retrieval
* On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey
* Synergistic Interplay between Search and Large Language Models for Information Retrieval
* Is Table Retrieval a Solved Problem? Exploring Join-Aware Multi-Table Retrieval
* Learning Relational Decomposition of Queries for Question Answering from Tables
* VerifiNER: Verification-augmented NER via Knowledge-grounded Reasoning with Large Language Models
* VerifiNER: Verification-augmented NER via Knowledge-grounded Reasoning with Large Language Models
* Choose Your Transformer: Improved Transferability Estimation of Transformer Models on Classification Tasks
* Uncovering Limitations of Large Language Models in Information Seeking from Tables
Читать далее
#ACL2024
Подборку открывают статьи про LLM:
* Prompt Engineering a Prompt Engineer
* Controlled Text Generation for Black-box Language Models via Score-based Progressive Editor
* Referral Augmentation for Zero-Shot Information Retrieval
* On LLMs-Driven Synthetic Data Generation, Curation, and Evaluation: A Survey
* Synergistic Interplay between Search and Large Language Models for Information Retrieval
* Is Table Retrieval a Solved Problem? Exploring Join-Aware Multi-Table Retrieval
* Learning Relational Decomposition of Queries for Question Answering from Tables
* VerifiNER: Verification-augmented NER via Knowledge-grounded Reasoning with Large Language Models
* VerifiNER: Verification-augmented NER via Knowledge-grounded Reasoning with Large Language Models
* Choose Your Transformer: Improved Transferability Estimation of Transformer Models on Classification Tasks
* Uncovering Limitations of Large Language Models in Information Seeking from Tables
Читать далее
#ACL2024
Deep learning
Highlights of ACL 2024 (LLM part 1)
This year, I attended ACL 2024 in Bangkok. In this series of posts, I’ll share my personal highlights from the conference, focusing primarily on papers and ideas with practical applications.
Это вторая часть подборки статей с #ACL2024. Эта часть тоже преимущественно посвящена LLM:
* When Phrases Meet Probabilities: Enabling Open Relation Extraction with Cooperating Large Language Models
* KnowCoder: Coding Structured Knowledge into LLMs for Universal Information Extraction
* Balanced Data Sampling for Language Model Training with Clustering
* Label-Efficient Model Selection for Text Generation
* Multi-Task Inference: Can Large Language Models Follow Multiple Instructions at Once?
* Unlocking Efficiency in Large Language Model Inference: A Comprehensive Survey of Speculative Decoding
* EasyInstruct: An Easy-to-use Instruction Processing Framework for Large Language Models
* Cache & Distil: Optimising API Calls to Large Language Models
* Unsupervised Multilingual Dense Retrieval via Generative Pseudo Labeling
* Anonymization Through Substitution: Words vs Sentences
Читать далее
* When Phrases Meet Probabilities: Enabling Open Relation Extraction with Cooperating Large Language Models
* KnowCoder: Coding Structured Knowledge into LLMs for Universal Information Extraction
* Balanced Data Sampling for Language Model Training with Clustering
* Label-Efficient Model Selection for Text Generation
* Multi-Task Inference: Can Large Language Models Follow Multiple Instructions at Once?
* Unlocking Efficiency in Large Language Model Inference: A Comprehensive Survey of Speculative Decoding
* EasyInstruct: An Easy-to-use Instruction Processing Framework for Large Language Models
* Cache & Distil: Optimising API Calls to Large Language Models
* Unsupervised Multilingual Dense Retrieval via Generative Pseudo Labeling
* Anonymization Through Substitution: Words vs Sentences
Читать далее
Deep learning
Highlights of ACL 2024 (LLM part 2)
When Phrases Meet Probabilities: Enabling Open Relation Extraction with Cooperating Large Language Models Motivation Existing clustering-based open relation extraction methods use pre-trained language models. The embeddings may not accurately reflect the…
О новом "думающем" GPT o1-preview
Современный человеческий мозг обладает логическим мышлением. То есть способностью применять определённые законы мышления, вне зависимости от контекста.
С философской точки зрения, существует формальная логика, та, которая иногда изучается в школе и чаще используется в жизни и элементарной математике, и диалектическая логика, та, которая изучает процессы и применяется уже в высшей математике. Наиболее яркие представители этих школ - Аристотель и Гегель.
Посмотрим как с логическим мышлением обстоит у GPT o1-preview.
Как логически ответить "что первично: яйцо или курица?" В данном случае, яйцо и курица являются разными понятиями. Нужно просто посмотреть что появилось раньше. С таким же успехом, можно было бы ответить на вопрос "что первично: стул или футбольный мяч?" GPT рассуждает не так. Он не сравнивает понятия между собой, а сразу принимает их как разные. В первом случае так и есть, поэтому ответ правильный. Можно сказать, что GPT просто угадал.
Во втором случае, у нас уже "куриное яйцо и курица". GPT опять не делает сравнения, а предлагает нам несколько вариантов (оба не верны), да ещё и устанавливает истину авторитетом "большинства учёных".
Как следовало бы ответить на этот вопрос с логической точки зрения? Рассмотрим два понятия: курица и куриное яйцо. Какое их отношение? Куриное яйцо - это этап развития курицы. Иначе говоря, куриное яйцо - это курица в становлении. Эти два понятия - суть одного явления.
Резюмируя: новый GPT является более новой и улучшенной версией того же семейства GPT, который не оперирует логикой, а делает предсказания наиболее вероятного следующего токена, на основании полученного контекста и тренировочных данных. Вероятно, главные отличия от предыдущих версий, это то, что во время обучения от модели требовали больше рассуждать и за более правдоподобные рассуждения, модель больше поощрялась. Скорее всего, модель будет чуть реже допускать логические ошибки и галлюцинировать, но это никак не устранит проблему.
Современный человеческий мозг обладает логическим мышлением. То есть способностью применять определённые законы мышления, вне зависимости от контекста.
С философской точки зрения, существует формальная логика, та, которая иногда изучается в школе и чаще используется в жизни и элементарной математике, и диалектическая логика, та, которая изучает процессы и применяется уже в высшей математике. Наиболее яркие представители этих школ - Аристотель и Гегель.
Посмотрим как с логическим мышлением обстоит у GPT o1-preview.
Как логически ответить "что первично: яйцо или курица?" В данном случае, яйцо и курица являются разными понятиями. Нужно просто посмотреть что появилось раньше. С таким же успехом, можно было бы ответить на вопрос "что первично: стул или футбольный мяч?" GPT рассуждает не так. Он не сравнивает понятия между собой, а сразу принимает их как разные. В первом случае так и есть, поэтому ответ правильный. Можно сказать, что GPT просто угадал.
Во втором случае, у нас уже "куриное яйцо и курица". GPT опять не делает сравнения, а предлагает нам несколько вариантов (оба не верны), да ещё и устанавливает истину авторитетом "большинства учёных".
Как следовало бы ответить на этот вопрос с логической точки зрения? Рассмотрим два понятия: курица и куриное яйцо. Какое их отношение? Куриное яйцо - это этап развития курицы. Иначе говоря, куриное яйцо - это курица в становлении. Эти два понятия - суть одного явления.
Резюмируя: новый GPT является более новой и улучшенной версией того же семейства GPT, который не оперирует логикой, а делает предсказания наиболее вероятного следующего токена, на основании полученного контекста и тренировочных данных. Вероятно, главные отличия от предыдущих версий, это то, что во время обучения от модели требовали больше рассуждать и за более правдоподобные рассуждения, модель больше поощрялась. Скорее всего, модель будет чуть реже допускать логические ошибки и галлюцинировать, но это никак не устранит проблему.
Следующая подборка статей с #ACL2024 посвящена задачам извлечения информации:
* Hypergraph based Understanding for Document Semantic Entity Recognition
* Description Boosting for Zero-Shot Entity and Relation Classification
* Argument-Aware Approach To Event Linking
* AlignRE: An Encoding and Semantic Alignment Approach for Zero-Shot Relation Extraction
* Statements: Universal Information Extraction from Tables with Large Language Models for ESG KPIs
Читать далее
* Hypergraph based Understanding for Document Semantic Entity Recognition
* Description Boosting for Zero-Shot Entity and Relation Classification
* Argument-Aware Approach To Event Linking
* AlignRE: An Encoding and Semantic Alignment Approach for Zero-Shot Relation Extraction
* Statements: Universal Information Extraction from Tables with Large Language Models for ESG KPIs
Читать далее
Deep learning
Highlights of ACL 2024 (Information extraction)
This post focuses on ACL’2024 papers, that are studying information extraction tasks.
Последняя подборка статей с #ACL2024. На этот раз коснёмся демо статей и инструментов, которые будут полезны в исследовании и разработке.
* GenGO: ACL Paper Explorer with Semantic Features
* LM Transparency Tool: Interactive Tool for Analyzing Transformer Language Models
* NLP-KG: A System for Exploratory Search of Scientific Literature in Natural Language Processing
* DataDreamer: A Tool for Synthetic Data Generation and Reproducible LLM Workflows
* LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models
* LLMBox: A Comprehensive Library for Large Language Models
Читать далее
* GenGO: ACL Paper Explorer with Semantic Features
* LM Transparency Tool: Interactive Tool for Analyzing Transformer Language Models
* NLP-KG: A System for Exploratory Search of Scientific Literature in Natural Language Processing
* DataDreamer: A Tool for Synthetic Data Generation and Reproducible LLM Workflows
* LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models
* LLMBox: A Comprehensive Library for Large Language Models
Читать далее
Deep learning
Highlights of ACL 2024 (Demo papers)
In this post I’ll focus on Demo papers and tools that could be relevant in research and development.