금요일, 5월 10, 2024
Home자동화스타코더 | 스마일게이트.AI

스타코더 | 스마일게이트.AI


(분석AI서비스팀 이현정 팀장)

지난해 9월부터 시작된 허깅페이스(Huggingface)와 서비스나우 리서치(ServiceNow Research)의 협업 프로젝트인 빅코드(Bigcode)는 올해 5월 오픈소스 코딩 모델을 출시했다.
StarCoderBase, StarCoder 및 StarCoderPlus는 80개 이상의 프로그래밍 언어, Git 커밋, Git Hub 문제 및 Jupyter Notebook을 포함하여 라이선스가 있는 Github 데이터에서 학습된 코드에 대한 LLM입니다.
차이점은 각각 다음과 같습니다.

  • StarCoderBase: LLaMA처럼 1조 개의 토큰에 대해 약 150억 개의 매개변수를 학습한 모델
  • StarCoder: StarCoderBase에서 350억 개의 Python 토큰으로 미세 조정된 모델입니다.
  • StarCoderPlus: StarCoderBase의 영어 웹 데이터로 미세 조정된 모델

공식 사이트에 따르면 StarCoderBase는 프로그래밍 벤치마크에서 기존 개방형 코드 LLM보다 성능이 뛰어나며 OpenAI의 code-cushman-001(GitHub Copilot의 초기 버전을 지원하는 원래 Codex 모델)과 같은 폐쇄형 모델과 일치하거나 능가합니다. 그들은 8,000개가 넘는 토큰의 컨텍스트 길이를 통해 StarCoder 모델이 다른 개방형 LLM보다 더 많은 입력을 처리할 수 있어 다양하고 흥미로운 응용 프로그램이 가능하다는 사실을 발견했습니다.

스타코더
StarCoder 팀의 평가 결과

실제 사용예

StarCoder는 Huggingface 사이트의 StarChat Playground에서 사용할 수 있으며, VS Code Extension과 Jupyter Notebook Extension을 가지고 있어 확장하여 사용할 수 있습니다. (단, 확장 기능을 사용하는 경우 Huggingface에서 AccessToken을 얻어 설정해야 합니다.)

사용된 것은 StarChat Playground와 VS Code Extension이었으며, ChatGPT 3.5의 결과도 비교를 위해 확인하였다. (단, 오류 없는 코드가 작성되었는지 여부는 확인하지 못했습니다.)

-파이썬

스타코더스타코더
스타챗 플레이그라운드_파이썬
스타코더스타코더
VS 코드 확장_Python
스타코더스타코더
ChatGPT3.5_Python

“파이썬을 이용해 웹사이트에서 데이터를 추출하는 메소드를 작성해달라”고 했고, 스타챗 플레이그라운드와 ChatGPT 3.5는 비교적 잘 구성되고 이해하기 쉬운 코드를 갖고 있는 반면, VS Code Extension을 사용한 코드는 이미 작성되어 있었습니다. 주석 처리를 거쳐 코드가 생성되었으며, 코드가 완전히 완성되지 않은 채 생성이 완료되었습니다.

-자바

스타코더스타코더
스타챗 플레이그라운드_JAVA
스타코더스타코더
VS 코드 확장_JAVA
스타코더스타코더
채팅GPT 3.5_JAVA

Java의 경우 “패턴 매칭을 이용한 switch 문의 예시를 작성해 달라”고 요청했는데, 스타챗 플레이그라운드에서는 switch 문에 패턴 매칭을 사용할 수 있는 자바 버전을 요청했을 때 결과는 다음과 같았습니다. 이 경우에는 버전을 지정했는데도 결과가 나오지 않았을 뿐만 아니라, 완전한 구문을 한번에 생성할 수 없어 다시 요청하여 구문이 완성되었습니다. 잘린 부분. ChatGPT 3.5의 경우, 버전을 지정하지 않고 요청했는데도 원하는 결과가 출력되었습니다.

-자바스크립트

스타코더스타코더
스타챗 플레이그라운드_JavaScript
스타코더스타코더
VS 코드 확장_JavaScript
스타코더스타코더
ChatGPT 3.5_JavaScript

Javascript의 경우 요청에 따라 세 가지 결과가 모두 출력되었으며, 버전을 지정하면 해당 버전에 맞는 코드가 작성되는 것을 확인하였다.

마치다

스타코더(StarCoder)라는 프로그래밍에 특화된 모델이 출시되고, 완전 무료라는 점은 사용자 입장에서는 매우 환영할 만한 일이었습니다. 그리고 스타챗 플레이그라운드의 결과는 실제 코딩에서도 활용이 가능했습니다. VS Code Extension은 IDE에서 별도의 패널 없이 편집 영역에서 바로 사용할 수 있다는 큰 장점이 있으며, 요청 시 언어를 지정하지 않고도 생성된 파일의 확장자에 따라 코드를 생성해 주기 때문에 편리합니다. 또한, 코드 요청이 없더라도 엔터, 스페이스바 등의 키 이벤트가 발생하면 VS Code 우측 하단 ‘허깅 페이스 코드’ 부분에 실행 표시가 나타나고, 따라올 것으로 예상되는 추천 코드도 표시됩니다. 표시되며 이러한 권장 코드가 OUTPUT 패널에 표시됩니다. ‘허깅페이스코드’를 선택하면 추천코드 내역을 확인할 수 있어서 편리하기도 했습니다.

그러나 StarChat Playground와 VS Code Extension의 결과는 동일한 모델을 사용하고 있다고 믿을 수 없을 정도로 너무 달랐으며, VS Code Extension의 경우 현재 위치에서 주요 이벤트가 발생하면 별도의 코드 없이 추천 코드가 표시됩니다. 요구. 요청을 해석하고 적절한 코드를 생성하는 것보다, 이전에 작성된 코드를 스택(스택 데이터 세트는 GitHub 코드로 구성된 매우 큰 데이터 세트입니다)에서 찾아서 그 뒤에 나올 수 있는 코드를 노출(검색)하는 것과 같은 느낌입니다. 난 그것을 받았다.

저는 빅코드 프로젝트를 처음부터 눈여겨봤고, 스타코더가 출시된 것을 기쁘게 생각합니다. 하지만 위의 테스트를 진행한 후 현시점에서는 원하는 결과를 빠르게 찾기 위해 ChatGPT, StarChat Playground, VS Code Extension 등의 순서로 접근하게 될 것 같습니다. . 우리는 더 나은 성능을 위해 오픈 소스 StarCoder를 희망하고 지원합니다.

참조

https://huggingface.co/blog/starcoder

https://huggingface.co/spaces/bigcode/bigcode-playground

https://huggingface.co/spaces/HuggingFaceH4/starchat-playground

https://levelup.gitconnected.com/starcoder-a-new-ai-model-that-surprised-me-on-coding-assistance-b49e9d334bcf

Hugging Face and ServiceNow open up generative AI for coding with StarCoder

https://blog.naver.com/thgml4814

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments