Midjourney и другие нейросети обработки изображений - страница 896

 

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

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

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


Чтобы обучить ИИ генерировать 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. Мониторинг и обновление
  • Журнал ошибок:
    • Записывайте случаи, когда модель ошибается, и используйте их для дообучения.
  • Регулярное обновление:
    • Если появятся новые исходники или дополнения к справке, добавляйте их в обучение.
Итоговый подходЧтобы ИИ писал грамотный код по любому запросу без галлюцинаций:
  1. Структурируйте данные: Разберите справку и исходники на пары "описание — код".
  2. Аугментируйте данные: Создайте синтетические примеры и перефразируйте описания.
  3. Дообучите модель: Используйте предобученную модель и настройте её на ваши данные.
  4. Добавьте базу знаний: Интегрируйте справку и примеры для точной генерации.
  5. Контролируйте качество: Ограничивайте креативность, проверяйте код и обучайте с подкреплением.
  6. Тестируйте и улучшайте: Постоянно проверяйте модель и исправляйте ошибки.
Ограничения и реалистичность100% качество без галлюцинаций сложно гарантировать с таким малым набором данных, так как ИИ может сталкиваться с запросами, выходящими за пределы справки и исходников. Однако описанный подход минимизирует ошибки и обеспечивает высокую точность в пределах доступной информации. Для абсолютной гарантии потребуется больше данных или ручная проверка результатов.
 

Разное. Миджорни


 

Арты. Миджорни


 

Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.

https://habr.com/ru/companies/yandex/articles/884416/


 
Vitaliy Kuznetsov #:

Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.

Там Accuracy для варианта English->Russian заметно больше остальных English->XXX.

Если правильно понял, получается, что перевод с английского лучше всего сейчас делается именно на Русский.

 
Киньте ссылку на грок3. Что то не получается выйти на чат.

 

Grok 3 beta бесплатный

https://x.com/i/grok

Ссылка может не открыться, т.к. x/twitter заблокирован на территории РФ


 
Vitaliy Kuznetsov #:

Тем временем переводчик Яндекса с английского на русский лидирует среди остальных.

Если попадались сравнения ru >> en, jp <> ru, было бы интересно.

Японский вообще особенный язык, переводчики врут безбожно. Пробовал Google и DeepL. Google особенно врёт, путает Я и Ты, "сдать" и "снять квартиру" переводит одинаково, да и много другого. Думаю, во многих иероглифических языках одно слово для разных склонений и пр. определяется из контекста, а контекст анализировать нужен интеллект. DeepSeek переводит лучше, но долго. Подойдёт для подготовки текста, но не для переписки.

 

Если кому-то нужен промт на профориентацию. Можете попробовать в DeepSeek. Узнаете, какая работа Вам подойдёт лучше всего.

Проведи со мной профориентационное интервью.

Цель: разобрать мои интересы и понять, какая работа мне бы пришлась по душе. Разобрать имеющиеся возможности, обстоятельства, то, чем я могу быть интересен и полезен людям. То, на чем я мог бы зарабатывать и от чего получать удовольствие.

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

Учти мои ценности, особенности здоровья, цели на жизнь, взгляды на комфорт, стиль работы и жизни. А также особенности психики, нервной системы, скорость/темперамент, чувствительность и другие критерии. 

Задавай вопросы по одному, а в конце собеседования подведи итоги чётко и по пунктам с обоснованиями.

Интервью должно быть глубоким, профессиональным, многогранным, интересным и прикладным.

 
Valeriy Yastremskiy #:
Киньте ссылку на грок3. Что то не получается выйти на чат.

У меня grok.com норм. Возможно, нужен VPN.

Кстати, более функциональный чат, чем в x.com. Мультимодальный.