영국 인공지능(AI) 스타트업 스태빌리티 AI(Stability AI)가 8월 8일(현지시간) 프로그래밍 코드를 생성하는 대규모 언어 모델(LLM) ‘스테이블코드(StableCode)’를 발표했다.
그림을 대강 그리면 대신 완성해주는 툴 ‘스테이블 두들’ (출처 : Stability AI)
스태빌리티 AI는 이미지 생성 모델 ‘스테이블 디퓨전(Stable Diffusion)’으로 유명하다. 원하는 그림을 텍스트로 설명하면 그대로 그려주는 AI다. 스태빌리티 AI는 2022년 8월 스테이블 디퓨전을 출시한 이후 SDXL, 스테이블 두들처럼 이미지를 간편하게 그리는 도구를 여럿 출시했다. 그런데 이번에는 이미지와 관련 없는 ‘코딩 AI’를 만들었다는 소식이 전해지면서 주목받고 있다.
■ 코딩 돕는 AI ‘스테이블코드’ 구조는?
스테이블코드가 제안한 코드는 회색 글자로 표시된다 (출처 : Stability AI)
스테이블코드는 ①기본 모델 ②지시 모델 ③장문형 모델까지 세 가지 다른 모델로 구성됐다.
기본 모델은 빅코드(BigCode)가 제공하는 스택-데이터셋 1.2 버전을 기반으로 만들었다. 빅코드는 프로그래밍 코드 생성에 특화된 대규모 언어 모델이다. 기존에도 빅코드 데이터셋을 기반으로 개발한 코딩 AI가 있었다. 스태빌리티 AI는 데이터셋에 필터링과 조정을 더해 기존 AI보다 더 나은 성능을 낸다고 주장했다.
스테이블코드는 빅코드 데이터셋으로 다양한 프로그래밍 언어를 학습했다. 여기에는 파이썬, 고(Go), 자바, 자바스크립트, C와 C++, 마크다운(Markdown)이 포함됐다. 스태빌리티 AI는 이 과정에서 무려 5600억 가지 코드 토큰을 교육했다고 언급했다.
기본 모델을 설정한 다음, 더 복잡한 프로그래밍도 가능하도록 지시 모델을 적용했다. 이를 위해 12만 가지에 달하는 코드 명령과 응답 조합을 기본 모델에 훈련시켰다.
마지막으로, 장문형 모델을 적용해 여러 줄에 걸친 코드를 완성한다. 이 모델은 한 번에 더 많은 코드를 처리하는 데 특화됐다. 스태빌리티 AI는 기존에 출시된 코딩 AI는 코드 토큰을 1만 6000여 개 가진 반면 스테이블코드의 장문형 모델이 가진 토큰 수는 2~4배 이상 많다고 주장했다.
■ 코딩 AI, 코딩 시간 단축과 기술 습득에 도움 될 듯
스태빌리티 AI는 스테이블코드가 프로그래머의 업무를 지원할 뿐만 아니라 더 많은 기술을 배울 기회를 제공한다고 설명했다.
스테이블코드 동작 방식은 프로그래머가 코딩하는 방법과 유사하다.
많은 프로그래머가 기능을 구현하기 위해 비슷한 사례를 온라인으로 찾고 현재 개발 조건에 맞게 코드를 수정한다. 스테이블코드도 전체 과정은 같다. 데이터셋에서 비슷한 기능을 구현한 사례를 찾는다. 그다음 사용 중인 프로그래밍 언어와 개발 환경에 맞게 코드를 수정하고 사용자에게 제안한다. 프로그래머가 온라인으로 검색해 코드를 찾고 수정하는 과정을 대신하는 셈이다. 코딩하는 데 걸리는 시간이 대폭 줄어들 전망이다.
프로그래머의 역량 향상도 꾀할 수 있다. 기존에는 프로그래머가 다른 코드를 참조할 때 자신이 아는 방식으로만 수정이 가능했다. 프로그램 성능은 프로그래머의 실력에 좌우되는 경향을 보였다. 코딩 경험이 많을수록 수정이나 최적화 작업이 수월하기 때문이다. AI가 이 과정을 대신하면 프로그래머가 상상하지 못했던 방식으로 최적화하는 경우도 있을 테다. 프로그래머는 이를 보고 새로운 방법을 학습할 수 있다.
스태빌리티 AI 연구 책임자 크리스티안 라포르트는 스테이블코드가 스테이블 디퓨전과 같은 역할을 하길 바란다고 언급했다. 그는 스테이블 디퓨전이 누구나 예술가가 될 수 있게 도왔다며, 누구든 좋은 아이디어가 있거나 문제를 해결할 프로그램이 필요하다면 스테이블코드로 만들게 하고 싶다고 밝혔다.
스테이블코드를 참조하는 명령어 (출처 : Stability AI)
단, 스테이블코드를 사용하려면 기본적인 코딩 방법을 숙지해야 한다. 아무것도 모르는 채 코드를 생성하는 건 불가능하다. 스태빌리티 AI가 공개한 스크린샷을 보면 AI 모델을 참조하는 명령어 작성이 필요하다. 자동으로 코드를 생성하려면 클래스(class)나 정의(def) 앞 부분을 일부라도 직접 입력해야 정확도가 올라간다. 따라서 스테이블코드는 초보자보다 기존 프로그래머의 업무를 돕는 데 더욱 특화됐다고 볼 수 있다.
하지만 이번에 공개한 게 초기 버전이라는 점을 염두에 둬야 한다. 스테이블코드가 널리 사용되고 데이터가 누적되면 나중에는 더 나은 성능을 갖출 가능성이 있다. 어떤 역할을 하는 프로그램을 만들어 달라고 요청하면 AI가 뚝딱 만들어 주는 모습도 기대할 만하다.
테크플러스 에디터 이병찬
tech-plus@naver.com
댓글0