뒤로
정종학
정종학 ·

세상 간단한 LLM의 원리 (Llama3 오픈소스 살펴보기)

image.png

LLM을 ChatGPT와 Claude.ai 와 같은 클라이언트 서비스로 이용만 해왔지 돌아가는 원리나 내부 구조를 알지 못했는데요.
최근에 아래의 영상을 보게 되며 생각보다 간단하구나 (영상이 정말 쉽게 잘 설명을 해주고 있었습니다) 라는 생각을 하며, 최근 메타가 공개하며 이슈가된 Llama3의 오픈 소스를 살펴 보았습니다. 영상의 설명 처럼 생각보다 간단하게 파일들이 구성되어 있었습니다.

Llama3 코드는 Python으로 작성되었고, run 파일 몇개와 140GB에 달하는 파라메터를 다운 받을 수 있게 하는 shell 파일로 구성되어 있었습니다. 정말 세상 간단했군..? 그러나 그것을 커스텀하고 원하는 결과의 아웃풋을 만들어 내는 것은 간단하지는 않겠죠? :D

코드의 결과물이라 할 수 있는 Application들이 결국에 인풋(요청)과 아웃풋(응답)으로 동작 하는 파일들의 집합체인 것은 어떻게 보면 세상 간단하네 라고 할 수도 있는데요.

저희 모카클래스의 웹과 모바일 앱도 결국엔 파일들(몇개는 아니고 LLM 보다는 훨씬 많은데요. LLM의 파일 수는 생각보다 적었고, GPU를 통한 학습의 결과물인 파라메터 파일의 크기가 아주 큰편입니다. OpenAI가 GPU 운영으로 왜 그렇게 많은 비용이 드는지 영상을 통해 이해 할 수 있었습니다.)의 구성으로 인풋(요청)에 따른 아웃풋(응답)을 내어 주는 기계에 불과? 하다고도 할 수 있습니다.

그 동안 원리도 모른채 손쉽게 이용만 했었던 LLM 서비스들의 원리와 내부 구조를 위 영상으로 일부 이해해 볼 수 있었습니다.

[영상 요약]

  1. LLM의 기본 구조:

    • 대형 언어 모델은 두 개의 파일로 구성됨: 파라미터 파일과 실행 코드

    • 파라미터 파일은 모델의 '지식'을 담고 있는 숫자들의 집합

    • 실행 코드는 이 파라미터를 사용해 텍스트를 생성하는 프로그램

    • 예: LLama 2의 70B 모델은 140GB 크기의 파라미터 파일을 가짐

  2. 훈련 과정:

    • 사전 훈련 (Pre-training): • 인터넷에서 수집한 대량의 텍스트 데이터 사용 (약 10 테라바이트) • 6,000개의 GPU를 사용해 약 12일 동안 훈련 • 비용은 약 20억 달러 소요 • 목표는 인터넷 텍스트를 '압축'하여 모델의 파라미터로 변환

    • 미세 조정 (Fine-tuning): • 특정 작업이나 스타일에 맞게 모델을 조정 • 고품질의 Q&A 형식 데이터 사용 (약 100,000개 문서) • 인간 레이블러들이 작성한 데이터로 훈련 • 사전 훈련에 비해 상대적으로 저렴하고 빠름

  3. LLM의 작동 원리:

    • 기본적으로 다음 단어를 예측하는 작업 수행

    • 주어진 문맥을 바탕으로 가장 확률이 높은 다음 단어 선택

    • 이 과정을 반복하여 전체 텍스트 생성

    • 단순해 보이는 이 작업이 실제로는 세상에 대한 광범위한 지식 요구

  4. 모델 성능 향상:

    • '스케일링 법칙': 더 많은 데이터와 더 큰 모델로 성능 향상

    • 파라미터 수(n)와 훈련 데이터 양(d)이 주요 변수

    • 성능은 이 두 변수의 예측 가능한 함수

    • 현재 추세는 계속해서 더 큰 모델과 더 많은 데이터 사용하는 것

  5. LLM의 능력:

    • 도구 사용: • 인터넷 검색, 계산기, 코드 실행 등 외부 도구 활용 가능 • 복잡한 작업을 여러 단계로 나누어 해결

    • 멀티모달 처리: • 텍스트뿐만 아니라 이미지, 오디오 등 다양한 형태의 입력 처리 가능 • 이미지 생성, 음성 인식 및 생성 등의 기능 통합

  6. 미래 발전 방향:

    • 시스템 1과 시스템 2 사고 구현: • 빠르고 직관적인 사고(시스템 1)와 느리고 분석적인 사고(시스템 2) 구현 • 복잡한 문제 해결을 위한 '사고 시간' 부여 가능성

    • 자기 개선 능력: • AlphaGo처럼 자체적으로 성능을 향상시키는 방법 모색 • 언어 모델에 적합한 '보상 함수' 개발 필요

    • 사용자 맞춤화: • 특정 작업이나 도메인에 특화된 모델 개발 • GPT 앱 스토어 등을 통한 맞춤형 모델 제공

  7. 보안 문제:

    • 탈옥 공격 (Jailbreaking): • 모델의 윤리적 제한을 우회하여 부적절한 내용 생성 유도 • 역할 놀이, 인코딩된 메시지 등 다양한 방법 사용

    • 프롬프트 인젝션: • 악의적인 지시를 숨겨 모델의 행동 조작 • 이미지나 문서에 숨겨진 지시로 개인 정보 유출 가능성

    • 데이터 포이즈닝: • 훈련 데이터에 악의적인 정보를 삽입하여 모델 오작동 유도 • 특정 트리거 단어나 구문에 반응하도록 모델 조작

영상은 LLM을 새로운 컴퓨팅 패러다임으로 소개하며, 그 잠재력과 함께 직면한 도전 과제들을 상세히 설명합니다. Andrej Karpathy는 이 기술의 현재 상태와 미래 발전 방향, 그리고 관련된 윤리적, 보안적 문제들에 대해 포괄적인 시각을 제공합니다.

10X AI Club 그룹의 글
10

댓글

로그인 후 댓글을 남길 수 있습니다.

William Jung
William Jung

간결한 정리 감사합니다!

정종학
정종학

감사합니다 :) 정리는 모두 영상과 cluade.ai 덕에 :D