LLaMa3

메타가 라마3(LLaMa3)를 공개 했다.

시작은 유출로 시작해서 2부터 정식으로 오픈소스로 공개하고 이번에 3을 공개했다. 한글은 좀 약하다고 하지만, 한국 전문가들도 라마3 공개에 큰 관심을 보이고 있으니, 한글 데이터로 파인튜닝 된 모델이 곧 등장할 것으로 보인다.

8빌리언, 70빌리언 두 개의 모델로 공개 했다. 400빌리언 모델도 학습 중에 있다고 한다. 코드 생성, 추론, 지시 수행 등의 능력이 크게 향상되었다고 한다.

라마3 모델은 다른 AI 모델들과 비교했을 때, 다음과 같은 몇 가지 주요한 차별점을 가지고 있다고 한다.

* 윈도우 코파일럿이 설명해 준 내용이다.

1. 토크나이저 개선: 라마3는 128K 토큰의 vocabulary를 사용하여 언어를 더 효율적으로 인코딩하고 성능을 향상 시켰다.
2. 추론 효율성 개선: 8B와 70B 모델 모두 Grouped Query Attention (GQA)을 적용하여 추론 효율성을 개선했다.
3. 대규모 사전 학습 확장: 라마2 대비 7배 이상 데이터셋 증가로, 15조 토큰 이상으로 학습되었다.
4. Instruction-tuning 혁신: SFT, Rejection Sampling, PPO, DPO 기법을 활용한 정교한 모델 얼라인먼트를 통해 reasoning, 코드 생성, 지시 수행 등의 능력이 크게 향상되었다.
5. 윤리적 대응 능력: 라마3는 논란이 될 수 있는 질문에 대해 단순히 답변을 거부하는 것이 아니라, 융통성 있는 접근으로 개선된 답변을 제공한다.

이러한 기술적 진보와 함께, 라마3는 오픈소스 모델로서, 다른 개발자들이 자유롭게 사용하고 수정·재배포할 수 있는 가능성을 제공한다. 또한, 메타는 라마3를 기반으로 한 AI 챗봇 ‘메타AI’도 공개했으며, 이는 페이스북, 인스타그램, 왓츠앱 등에서 사용할 수 있게 될 예정이다. 라마3는 기존의 AI 모델들과 비교하여 기술적 우수성, 유연성, 윤리적 대응 능력 등에서 차별화된 접근을 제공하며, AI 생태계에 새로운 기준을 제시하고 있습니다.

 

[ 올라마(Ollama) ]는 로컬에서 LLM을 실행 시키는 오픈소스 도구이다. Mr. Know-All 6호 – 2024년 3월호에서 소개한 LM Studio에도 라마3 모델이 올라와 있다. 한 번 써보자 정도면, LM Studio 가 편하다.

LM Studio는 로컬에서 대규모 언어 모델(LLM)을 실행할 수 있는 도구로, 사용자가 다양한 LLM을 검색하고 다운로드하여 오프라인으로 실행할 수 있게 해준다. LM Studio 사용법은 다음과 같다. 

[Ollama 설치]

프로젝트 페이지 https://github.com/ollama/ollama 에 가서 운영체제에 맞는 설치 프로그램을 다운로드하고 설치 한다. 설치가 완료되면 우리는 라마3를 사용할 거니, 콘솔 애플리케이션에서 다음 명령을 실행한다.
ollama run llama3

이렇게 하면 라마3 8B 모델이 다운로드된다. 약 5G 정도 차지한다. 70B를 사용하고자 할 때는 ollama run llama3:70B를 실행한다. 이것은 약 40GB를 차지한다.

그래픽 카드가 파일을 메모리에 로드할 수 있다면, 모델은 초당 약 500단어 속도로 실행되고, CPU에서 실행해야 한다면 초당 2-5단어로 실행된다.

3060 GPU라면 5GB 버전은 문제없이 실행할 수 있습니다. 40GB 버전을 실행하려면, 그에 맞는 성능의 컴퓨터가 필요할 거다. 컴퓨터 성능이 허용한다면 70B 버전을 설치한다.

* 채팅 봇을 사용해서 하고 싶다면, 아래와 같이 하자. 

git clone https://github.com/ivanfioravanti/chatbot-ollama.git
npm ci
npm run dev

 

[OllamaSharp 사용]

NuGet 패키지를 통해 라이브러리 OllamaSharp를 추가하자. 

콘솔 프로젝트를 하나 만들어 다음과 같이 코드를 작성해서 실행해 보자. 

using OllamaSharp;

var uri = new Uri(“http://localhost:11434”);
var ollama = new OllamaApiClient(uri);
ollama.SelectedModel = “llama3”;
var prompt = “Hello, I’m Luis, how are you???”;

ConversationContext? context = null;
context = await ollama.StreamCompletion(prompt, context, stream => Console.Write(stream.Response));

Console.ReadLine();

 

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*