И ещё один длиннопост, который может поможет обучить ИИ грамотно писать код на языке, где мало примеров.
//Как видим, нет ничего невозможного, было бы желание. Суть простая, получаем новый совершенный ИИ с помощью существующих ИИ и людей конечно же.
//Как минимум нужно взять все исходники и попросить другой ИИ каждую строчку сопроводить описанием и примерами, рерайтами, вариациями. Всё как обычно, создать огромную синтетику.
Чтобы обучить ИИ генерировать 100% качественный код без галлюцинаций на основе ограниченного набора данных — справки по языку программирования с примерами и примерно 1000 исходников — нужно применить структурированный подход, который максимально использует доступные ресурсы и минимизирует ошибки. Хотя данных действительно мало, с правильной стратегией можно добиться высокой точности и грамотности в генерации кода.
Вот как это сделать:
1. Подготовка и структурирование данныхВаш набор данных небольшой, поэтому важно извлечь из него максимум информации:
Разберите справку по языку:
Выделите синтаксис, ключевые слова, описания функций, классов, методов и примеры использования.
Структурируйте данные в удобный формат, например, пары "описание — код". Пример: "Функция print() выводит текст на экран" → print("Hello").
Обработайте 1000 исходников:
Разделите код на логические части: функции, классы, модули.
Если есть комментарии, используйте их как аннотации. Если нет, добавьте описания вручную или с помощью автоматических инструментов (например, генераторов документации).
Пример: Код def add(a, b): return a + b → Аннотация: "Функция для сложения двух чисел".
2. Увеличение объёма данных (аугментация)С 1000 исходников и справкой нельзя сразу обучить модель на все случаи, поэтому нужно искусственно расширить данные:
Создание синтетических примеров:
Используйте правила языка для генерации вариаций кода. Например, из def add(a, b): return a + b можно сделать def sum_two(a, b): return a + b.
Перефразирование описаний:
Перепишите комментарии и документацию разными способами, чтобы увеличить число обучающих пар.
Пример: "Сложить два числа" → "Вернуть сумму двух чисел".
Эти шаги помогут модели лучше обобщать знания, несмотря на ограниченный объём данных.3. Использование предобученной моделиПолностью обучить ИИ с нуля на таком малом наборе данных невозможно, поэтому начните с предобученной модели, уже знакомой с программированием:
Выбор модели:
Подойдут модели вроде CodeBERT, GPT-3 или GitHub Copilot, которые обучены на больших наборах кода.
Дообучение (fine-tuning):
Настройте модель на ваших данных (справка + исходники), чтобы она адаптировалась к вашему языку программирования и стилю кода.
Подготовьте данные в формате "запрос — код". Например:
Запрос: "Напиши функцию для сложения двух чисел".
Код: def add(a, b): return a + b.
Используйте библиотеки, такие как Hugging Face Transformers, для дообучения.
4. Интеграция базы знанийЧтобы ИИ всегда опирался на точные данные и не галлюцинировал:
Создайте базу знаний:
Сохраните справку и примеры в структурированном виде (например, в базе данных или векторном хранилище).
Используйте подход RAG (Retrieval-Augmented Generation): модель сначала ищет релевантные примеры или правила из базы знаний, а затем генерирует код.
Контекстуальное понимание:
Обучите модель связывать запросы пользователей с нужными частями справки или исходников.
Пример: Запрос "Как вывести текст?" → Модель находит print() в справке и генерирует print("Текст").
5. Контроль качества и устранение галлюцинацийДля 100% качества важно исключить выдуманный код:
Ограничение креативности:
Настройте параметры генерации: используйте beam search с малым числом лучей или низкую температуру (например, 0.5), чтобы модель выдавала только проверенные варианты.
Проверка фактов:
После генерации кода проверяйте его на соответствие справке (например, существуют ли использованные функции) и синтаксическую правильность (через компилятор или интерпретатор).
Определите метрики качества: правильность синтаксиса, функциональность (проходит ли код тесты), читаемость.
Награждайте модель за правильный код и штрафуйте за ошибки.
6. Тестирование и итерация
Проверка модели:
Выделите часть исходников (например, 10%) для тестирования. Попросите модель сгенерировать код по запросам и сравните с оригиналом.
Итеративное улучшение:
Анализируйте ошибки и галлюцинации, корректируйте данные или настройки модели.
7. Мониторинг и обновление
Журнал ошибок:
Записывайте случаи, когда модель ошибается, и используйте их для дообучения.
Регулярное обновление:
Если появятся новые исходники или дополнения к справке, добавляйте их в обучение.
Итоговый подходЧтобы ИИ писал грамотный код по любому запросу без галлюцинаций:
Структурируйте данные: Разберите справку и исходники на пары "описание — код".
Аугментируйте данные: Создайте синтетические примеры и перефразируйте описания.
Дообучите модель: Используйте предобученную модель и настройте её на ваши данные.
Добавьте базу знаний: Интегрируйте справку и примеры для точной генерации.
Контролируйте качество: Ограничивайте креативность, проверяйте код и обучайте с подкреплением.
Тестируйте и улучшайте: Постоянно проверяйте модель и исправляйте ошибки.
Ограничения и реалистичность100% качество без галлюцинаций сложно гарантировать с таким малым набором данных, так как ИИ может сталкиваться с запросами, выходящими за пределы справки и исходников. Однако описанный подход минимизирует ошибки и обеспечивает высокую точность в пределах доступной информации. Для абсолютной гарантии потребуется больше данных или ручная проверка результатов.
Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.
Если попадались сравнения ru >> en, jp <> ru, было бы интересно.
Японский вообще особенный язык, переводчики врут безбожно. Пробовал Google и DeepL. Google особенно врёт, путает Я и Ты, "сдать" и "снять квартиру" переводит одинаково, да и много другого. Думаю, во многих иероглифических языках одно слово для разных склонений и пр. определяется из контекста, а контекст анализировать нужен интеллект. DeepSeek переводит лучше, но долго. Подойдёт для подготовки текста, но не для переписки.
Если кому-то нужен промт на профориентацию. Можете попробовать в DeepSeek. Узнаете, какая работа Вам подойдёт лучше всего.
Проведи со мной профориентационное интервью.
Цель: разобрать мои интересы и понять, какая работа мне бы пришлась по душе. Разобрать имеющиеся возможности, обстоятельства, то, чем я могу быть интересен и полезен людям. То, на чем я мог бы зарабатывать и от чего получать удовольствие.
Обрати внимание на мои вкусы, увлечения и сильные стороны и придумай, как и где это можно применить и продать.
Учти мои ценности, особенности здоровья, цели на жизнь, взгляды на комфорт, стиль работы и жизни. А также особенности психики, нервной системы, скорость/темперамент, чувствительность и другие критерии.
Задавай вопросы по одному, а в конце собеседования подведи итоги чётко и по пунктам с обоснованиями.
Интервью должно быть глубоким, профессиональным, многогранным, интересным и прикладным.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
И ещё один длиннопост, который может поможет обучить ИИ грамотно писать код на языке, где мало примеров.
//Как видим, нет ничего невозможного, было бы желание. Суть простая, получаем новый совершенный ИИ с помощью существующих ИИ и людей конечно же.
//Как минимум нужно взять все исходники и попросить другой ИИ каждую строчку сопроводить описанием и примерами, рерайтами, вариациями. Всё как обычно, создать огромную синтетику.
Чтобы обучить ИИ генерировать 100% качественный код без галлюцинаций на основе ограниченного набора данных — справки по языку программирования с примерами и примерно 1000 исходников — нужно применить структурированный подход, который максимально использует доступные ресурсы и минимизирует ошибки. Хотя данных действительно мало, с правильной стратегией можно добиться высокой точности и грамотности в генерации кода.
Вот как это сделать:
1. Подготовка и структурирование данныхВаш набор данных небольшой, поэтому важно извлечь из него максимум информации:
- Разберите справку по языку:
- Выделите синтаксис, ключевые слова, описания функций, классов, методов и примеры использования.
- Структурируйте данные в удобный формат, например, пары "описание — код".
- Обработайте 1000 исходников:
- Разделите код на логические части: функции, классы, модули.
- Если есть комментарии, используйте их как аннотации. Если нет, добавьте описания вручную или с помощью автоматических инструментов (например, генераторов документации).
- Пример: Код def add(a, b): return a + b → Аннотация: "Функция для сложения двух чисел".
2. Увеличение объёма данных (аугментация)С 1000 исходников и справкой нельзя сразу обучить модель на все случаи, поэтому нужно искусственно расширить данные:Пример: "Функция print() выводит текст на экран" → print("Hello").
- Создание синтетических примеров:
- Используйте правила языка для генерации вариаций кода. Например, из def add(a, b): return a + b можно сделать def sum_two(a, b): return a + b.
- Перефразирование описаний:
- Перепишите комментарии и документацию разными способами, чтобы увеличить число обучающих пар.
- Пример: "Сложить два числа" → "Вернуть сумму двух чисел".
Эти шаги помогут модели лучше обобщать знания, несмотря на ограниченный объём данных.3. Использование предобученной моделиПолностью обучить ИИ с нуля на таком малом наборе данных невозможно, поэтому начните с предобученной модели, уже знакомой с программированием:- Выбор модели:
- Подойдут модели вроде CodeBERT, GPT-3 или GitHub Copilot, которые обучены на больших наборах кода.
- Дообучение (fine-tuning):
- Настройте модель на ваших данных (справка + исходники), чтобы она адаптировалась к вашему языку программирования и стилю кода.
- Подготовьте данные в формате "запрос — код". Например:
- Запрос: "Напиши функцию для сложения двух чисел".
- Код: def add(a, b): return a + b.
- Используйте библиотеки, такие как Hugging Face Transformers, для дообучения.
4. Интеграция базы знанийЧтобы ИИ всегда опирался на точные данные и не галлюцинировал:- Создайте базу знаний:
- Сохраните справку и примеры в структурированном виде (например, в базе данных или векторном хранилище).
- Используйте подход RAG (Retrieval-Augmented Generation): модель сначала ищет релевантные примеры или правила из базы знаний, а затем генерирует код.
- Контекстуальное понимание:
- Обучите модель связывать запросы пользователей с нужными частями справки или исходников.
- Пример: Запрос "Как вывести текст?" → Модель находит print() в справке и генерирует print("Текст").
5. Контроль качества и устранение галлюцинацийДля 100% качества важно исключить выдуманный код:- Ограничение креативности:
- Настройте параметры генерации: используйте beam search с малым числом лучей или низкую температуру (например, 0.5), чтобы модель выдавала только проверенные варианты.
- Проверка фактов:
- После генерации кода проверяйте его на соответствие справке (например, существуют ли использованные функции) и синтаксическую правильность (через компилятор или интерпретатор).
- Обучение с подкреплением:
- Определите метрики качества: правильность синтаксиса, функциональность (проходит ли код тесты), читаемость.
- Награждайте модель за правильный код и штрафуйте за ошибки.
6. Тестирование и итерация- Проверка модели:
- Выделите часть исходников (например, 10%) для тестирования. Попросите модель сгенерировать код по запросам и сравните с оригиналом.
- Итеративное улучшение:
- Анализируйте ошибки и галлюцинации, корректируйте данные или настройки модели.
7. Мониторинг и обновление- Журнал ошибок:
- Записывайте случаи, когда модель ошибается, и используйте их для дообучения.
- Регулярное обновление:
- Если появятся новые исходники или дополнения к справке, добавляйте их в обучение.
Итоговый подходЧтобы ИИ писал грамотный код по любому запросу без галлюцинаций:- Структурируйте данные: Разберите справку и исходники на пары "описание — код".
- Аугментируйте данные: Создайте синтетические примеры и перефразируйте описания.
- Дообучите модель: Используйте предобученную модель и настройте её на ваши данные.
- Добавьте базу знаний: Интегрируйте справку и примеры для точной генерации.
- Контролируйте качество: Ограничивайте креативность, проверяйте код и обучайте с подкреплением.
- Тестируйте и улучшайте: Постоянно проверяйте модель и исправляйте ошибки.
Ограничения и реалистичность100% качество без галлюцинаций сложно гарантировать с таким малым набором данных, так как ИИ может сталкиваться с запросами, выходящими за пределы справки и исходников. Однако описанный подход минимизирует ошибки и обеспечивает высокую точность в пределах доступной информации. Для абсолютной гарантии потребуется больше данных или ручная проверка результатов.Разное. Миджорни
Арты. Миджорни
Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.
https://habr.com/ru/companies/yandex/articles/884416/
Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.
Там Accuracy для варианта English->Russian заметно больше остальных English->XXX.
Если правильно понял, получается, что перевод с английского лучше всего сейчас делается именно на Русский.
Grok 3 beta бесплатный
https://x.com/i/grok
Ссылка может не открыться, т.к. x/twitter заблокирован на территории РФ
Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.
Если попадались сравнения ru >> en, jp <> ru, было бы интересно.
Японский вообще особенный язык, переводчики врут безбожно. Пробовал Google и DeepL. Google особенно врёт, путает Я и Ты, "сдать" и "снять квартиру" переводит одинаково, да и много другого. Думаю, во многих иероглифических языках одно слово для разных склонений и пр. определяется из контекста, а контекст анализировать нужен интеллект. DeepSeek переводит лучше, но долго. Подойдёт для подготовки текста, но не для переписки.
Если кому-то нужен промт на профориентацию. Можете попробовать в DeepSeek. Узнаете, какая работа Вам подойдёт лучше всего.
Проведи со мной профориентационное интервью.
Цель: разобрать мои интересы и понять, какая работа мне бы пришлась по душе. Разобрать имеющиеся возможности, обстоятельства, то, чем я могу быть интересен и полезен людям. То, на чем я мог бы зарабатывать и от чего получать удовольствие.
Обрати внимание на мои вкусы, увлечения и сильные стороны и придумай, как и где это можно применить и продать.
Учти мои ценности, особенности здоровья, цели на жизнь, взгляды на комфорт, стиль работы и жизни. А также особенности психики, нервной системы, скорость/темперамент, чувствительность и другие критерии.
Задавай вопросы по одному, а в конце собеседования подведи итоги чётко и по пунктам с обоснованиями.
Интервью должно быть глубоким, профессиональным, многогранным, интересным и прикладным.
Киньте ссылку на грок3. Что то не получается выйти на чат.
У меня grok.com норм. Возможно, нужен VPN.
Кстати, более функциональный чат, чем в x.com. Мультимодальный.