Как без денег и знаний в AI повторил Copilot'а

0866de3375d2838b110018cfc88b0067.gif

Сразу скажу, это не кликбейт, но до конца эту идею я финансового (как и скорее всего вы) довести не смог.

Для начала давайте рассмотрим Copilot’а со всех сторон!

  1. Его разрабатывали совместно Github(от них датасет) и OpenAI(от них Codex)

  2. Его резко закрыли в России из-за санкций

  3. Он продолжает код пытаясь понять вашу мысль

Согласитесь, очень интересно!

Теперь посмотрим что у нас есть, и как можно меньше потратить денег…

Датасет кода достать не проблематично, он уже давно есть в отрытом доступе.

Codex дорого, так что я решил найти Open Source конкурента, и что меня удивило, я нашёл!

CodeGen is an open-source model for program synthesis. Trained on TPU-v4. Competitive with OpenAI Codex.

-------

CodeGen — это модель с открытым исходным кодом для синтеза программ. Обучался на TPU-v4. Конкурирует с OpenAI Codex.

Разработчики некого CodeGen заявляют что их продукт конкурирует с Codex, но верить на слово — одно, а проверить на деле — другое. Так что уже через 5 минут я собрал Google Colab, и начал проверять.

Ссылка на Colab

https://colab.research.google.com/drive/1ouZ2uyJC0ZNSYoThCBuRl35BBmYQZiLK#scrollTo=UUq-rqNGOa0L

Кстати интересный момент заметил, когда изучал документацию:

23d44348da75b0e18af5331a44d36154.png

Есть несколько вариаций натренированных моделей, которые делятся по размеру и обученных данных, что очень меня обрадовало. Почему? А к этому ещё вернёмся!

Для тестов я решил взять среднюю по размеру модель со всеми опциями, весит эта модель в итоге почти 6GB:

d2211a16e50ce1c0663c14c4eef0fcb7.png

И тут возникает (как минимум у меня) несколько вопросов:

  1. Копилот же генерирует ответ за секунду, будет ли CodeGen так же хорош?

  2. А какие языки поддерживает CodeGen?

С первым вопрос всё не очень однозначно, я пишу как никак с минимальными знаниями в подобной сфере, но машина Colab с 16GB видеопамяти генерирует на модели Salesforce/codegen-2B-mono ответ с длиной до 24х символов практически за секунду.

А ответ на второе я нашёл на сайте модели, C, C++, Go, Java, JavaScript, и Python.

Интересный факт

кстати самая мощная модель весит 32GB

Продолжаем, теперь пора и потестить что мы имеем:

ce4c18d9adfc6abf8a9b53ed594656f3.png

Из картинки выше можно сделать несколько выводов, средняя модель уже легко понимает что от неё хотят, но генерирует ответ за 1.44 секунды…

Да, печально, в этом и загвоздка, по финансам такой проект содержать дорого, ибо цены на сервер с видеокартами начинаются с 11 тысяч, и то такие нам не пойдут что бы запилить полноценный Copilot, но вот для себя поднять на своём ПК или Colab можно легко.

На самом деле большого продолжения проекту я дать не могу, но я показал что всё можно заменить альтернативами если приложить усилия, удачи!

© Habrahabr.ru