Как без денег и знаний в AI повторил Copilot'а
Сразу скажу, это не кликбейт, но до конца эту идею я финансового (как и скорее всего вы) довести не смог.
Для начала давайте рассмотрим Copilot’а со всех сторон!
Его разрабатывали совместно Github(от них датасет) и OpenAI(от них Codex)
Его резко закрыли в России из-за санкций
Он продолжает код пытаясь понять вашу мысль
Согласитесь, очень интересно!
Теперь посмотрим что у нас есть, и как можно меньше потратить денег…
Датасет кода достать не проблематично, он уже давно есть в отрытом доступе.
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
Кстати интересный момент заметил, когда изучал документацию:
Есть несколько вариаций натренированных моделей, которые делятся по размеру и обученных данных, что очень меня обрадовало. Почему? А к этому ещё вернёмся!
Для тестов я решил взять среднюю по размеру модель со всеми опциями, весит эта модель в итоге почти 6GB:
И тут возникает (как минимум у меня) несколько вопросов:
Копилот же генерирует ответ за секунду, будет ли CodeGen так же хорош?
А какие языки поддерживает CodeGen?
С первым вопрос всё не очень однозначно, я пишу как никак с минимальными знаниями в подобной сфере, но машина Colab с 16GB видеопамяти генерирует на модели Salesforce/codegen-2B-mono
ответ с длиной до 24х символов практически за секунду.
А ответ на второе я нашёл на сайте модели, C, C++, Go, Java, JavaScript, и Python.
Интересный факт
кстати самая мощная модель весит 32GB
Продолжаем, теперь пора и потестить что мы имеем:
Из картинки выше можно сделать несколько выводов, средняя модель уже легко понимает что от неё хотят, но генерирует ответ за 1.44 секунды…
Да, печально, в этом и загвоздка, по финансам такой проект содержать дорого, ибо цены на сервер с видеокартами начинаются с 11 тысяч, и то такие нам не пойдут что бы запилить полноценный Copilot, но вот для себя поднять на своём ПК или Colab можно легко.
На самом деле большого продолжения проекту я дать не могу, но я показал что всё можно заменить альтернативами если приложить усилия, удачи!