웹사이트 검색

ChatGPT가 통과한 3가지 AI 코딩 과제로 Meta의 Code Llama를 테스트했는데 좋지 않았습니다.


Meta CEO인 Mark Zuckerberg는 최근 코딩용으로 설계된 70B 매개변수 AI인 Code Llama를 공개했습니다. 하지만 ChatGPT와 같은 거대 기업과 비교하면 어떤가요? 나는 그것을 테스트했다.

몇 주 전 Meta CEO인 Mark Zuckerberg는 Facebook을 통해 자신의 회사가 ChatGPT의 GPT-3.5 및 GPT-4와 유사한 인공 지능(AI) 엔진인 LLM(대형 언어 모델) Code Llama를 오픈 소스화한다고 발표했습니다.

Zuck은 이 LLM에 대해 세 가지 흥미로운 점을 발표했습니다. 오픈 소스이고, 코드 작성 및 편집을 돕기 위해 설계되었으며, 해당 모델에는 70B 매개변수가 있습니다. 개발자가 모델에 더 어려운 문제를 제공할 수 있고 엔진이 응답할 때 더 정확해지기를 바랍니다.

오픈소스 문제는 흥미롭다. 이는 모든 것을 다운로드하여 자체 서버에 설치하고 모델을 사용하여 Facebook의 지배자가 교육이나 기타 사악한 목적으로 코드를 훔칠 위험을 감수하지 않고도 프로그래밍 도움을 받을 수 있음을 암시하는 접근 방식입니다.

이 작업에는 Linux 서버를 설정하고 모든 종류의 후프 점프를 수행하는 작업이 포함됩니다. 하지만 Hugging Face의 전문가들은 이미 HuggingChat 인터페이스에 Code Llama 70B LLM을 구현한 것으로 나타났습니다. 그래서, 그것이 제가 다음에 테스트할 것입니다.

코드 라마 시작하기

시작하려면 Hugging Face에 무료 계정을 만들어야 합니다. 이미 가지고 있다면(저처럼) 해당 계정으로 70B Code Llama LLM을 사용할 수 있습니다.

주목해야 할 중요한 점 중 하나는 자신의 서버에 Code Llama를 설치하여 코드를 공유하지 않을 수 있지만 Hugging Face에서는 이야기가 훨씬 다르다는 것입니다. 이 서비스는 설정에서 해당 옵션을 끄지 않는 한 귀하가 입력하는 모든 내용이 모델 작성자와 공유될 수 있다고 말합니다.

HuggingChat에 로그인하면 빈 채팅 화면이 표시됩니다. 아래에서 볼 수 있듯이 현재 LLM은 openchat/openchat-3.5-0106이지만 Code Llama로 변경할 예정이며 방법을 알려 드리겠습니다.

설정에서 현재 모델을 변경하려면 톱니바퀴 아이콘을 눌러 이동할 수 있습니다.

설정에 들어가면 왼쪽의 codellama/CodeLlama-70b-Instruct-hf를 클릭하고(1에서) Code Llama LLM이 선택되었는지 확인한 다음(3에서) 활성화를 클릭합니다.

이제 채팅 인터페이스와 대화할 때 채팅 인터페이스 상단에서 확인된 대로 Code Llama 모델을 사용하게 됩니다.

테스트하기 위해 Bard(현재 Gemini)와 함께 수행한 이전 코딩 테스트 실행에서 프롬프트를 가져오기로 결정하고 HuggingChat에서 동일한 테스트를 실행했습니다.

테스트 1: WordPress 플러그인 작성

첫 번째 테스트는 WordPress 플러그인을 만드는 것이었습니다. ChatGPT는 이 작업을 매우 잘 수행했습니다. 바드는 약했지만 최선을 다했다. 하지만 코드 라마는 어떻습니까? 글쎄, 보자. 프롬프트는 다음과 같습니다.

줄 목록을 붙여 넣을 수 있는 텍스트 입력 필드와 버튼을 제공하는 PHP 8 호환 WordPress 플러그인을 작성하세요. 버튼을 누르면 목록의 줄이 무작위로 지정되고 공백 없이 두 번째 텍스트 입력 필드에 결과가 표시됩니다. 두 개의 동일한 항목이 서로 옆에 있지 않은지 확인합니다(다른 옵션이 없는 한). 제출된 줄 수와 결과의 줄 수가 서로 동일합니다. 첫 번째 필드 아래에 "무작위화할 라인: "이라는 텍스트와 소스 필드의 비어 있지 않은 라인 수를 표시합니다. 두 번째 필드 아래에 "무작위로 지정된 줄:"이라는 텍스트와 대상 필드의 비어 있지 않은 줄 수를 표시합니다.

결과는 다음과 같습니다.

그것은 너무 많은 수준에서 옳지 않습니다. 첫째, Code Llama는 모든 플러그인에 필요한 매우 간단한 필드 세트인 플러그인 헤더를 생성하지 않았습니다. 그런 다음 프로그래밍 편집기의 코드 포맷터가 해석할 수 없는 코드를 생성했는데, 이는 코드에 누락된 요소가 있음을 나타냅니다.

게다가 코드를 테스트할 수도 없습니다. 이것은 실패입니다.

테스트 2: 문자열 함수 다시 작성

이 테스트에서는 한때 ChatGPT에 제공한 문자열 재작성 요청을 사용했습니다. 나는 달러와 센트를 허용해야 하는 경우에만 정수를 허용하는 내 코드의 버그를 수정하고 싶었습니다(즉, 마침표가 올 수 있는 몇 자릿수, 마침표가 있는 경우 2 더 많은 숫자).

나는 이전 기사에서 사용한 것과 동일한 프롬프트를 입력했고 다음과 같은 응답을 받았습니다.

이 코드는 작동하며 만족합니다.

테스트 3: 찾을 수 없는 버그 찾기

이번에도 이전 기사에서 작성한 테스트를 재사용했습니다. Code Llama에서 시도한 문제에 대한 자세한 내용을 원하시면 원본 기사를 알려 드리겠습니다. 코딩 문제가 길고 상당히 복잡해서 무엇이 잘못되었는지 알 수 없었습니다.

ChatGPT는 문제를 즉시 해결했습니다. 바드는 그렇지 않았습니다. Bard는 전체 코드가 어떻게 구성되고 실행되어야 하는지가 아니라 문제의 표면을 살펴보았기 때문에 실패했습니다. 두통으로 의사에게 비유가됩니다. 한 의사는 아스피린 두 개를 복용하고 아침에 전화하지 말라고 말할 수도 있습니다. 다른 의사는 두통의 근본 원인을 찾아 해결하는 데 도움을 줄 수도 있습니다.

ChatGPT는 근본 원인에 초점을 맞춰 버그를 수정할 수 있었습니다. 바드는 증상만 봤을 뿐 고칠 생각은 없었다.

불행히도 Code Llama는 Bard와 똑같은 작업을 수행하여 문제의 표면만 살펴보았습니다. AI는 추천을 했지만, 그 추천으로 상황이 개선되지는 않았습니다.

그리고 승자는...

내 테스트 스위트는 포괄적이지 않습니다. 그러나 Code Llama가 ChatGPT 속도를 늦추지도 않은 세 가지 테스트 중 두 가지 테스트에서 실패한다면 AI가 제대로 작동할 준비가 되지 않은 것 같습니다.

ChatGPT 대신 Code Llama를 사용하려는 유일한 이유는 코드가 Meta와 공유되지 않기 때문에 자신의 서버에 설치하는 경우입니다. 하지만 정답을 알려주지 않는다면 프라이버시가 무슨 소용이 있겠습니까?

ChatGPT가 그다지 좋지 않았다면 아마도 Code Llama에 몇 가지 포인트를 주었을 것입니다. 하지만 우리는 ChatGPT로 무엇이 가능한지 알고 있습니다. 그리고 Code Llama는 그 수준과는 거리가 멀습니다. 간단히 말해서, 페이스북은 이를 보완하고 몇 가지 개선을 해야 할 것 같습니다.

솔직히 말해서 더 나은 것을 기대했고 조금 실망했습니다. 그러나 기술 칼럼니스트들이 익숙해지는 한 가지가 있다면, 그것은 우리가 보는 많은 제품과 프로젝트에 대해 약간 실망한다는 것입니다. 그래서 뭔가가 눈에 띄고 세상을 뒤흔들 때 우리는 그렇게 흥분하는 것 같아요. 불행히도 Code Llama는 그중 하나가 아닙니다.

코딩 도움말을 위해 AI를 사용해 보셨나요? 어떤 것을 사용해 보셨나요? 그들은 어떻게 일했는가? 아래 댓글을 통해 알려주세요.

소셜 미디어에서 저의 일상적인 프로젝트 업데이트를 팔로우하실 수 있습니다. Substack에서 주간 업데이트 뉴스레터를 구독하고 Twitter(@DavidGewirtz), Facebook(Facebook.com/DavidGewirtz), Instagram(Instagram.com/DavidGewirtz), YouTube(YouTube.com/DavidGewirtzTV)에서 저를 팔로우하세요.

관련기사