최신 인공지능 언어 모델 구조를 파이토치로 구현한 오픈아치 소개
1. 이게 뭔가요?
오픈아크(OpenArch)는 인공지능이 문장을 이해하고 답변을 만들어낼 때 거치는 내부 설계도인 최신 공개 대형 언어 모델의 구조들을 파이썬 프로그래밍 언어로 직접 구현해 모아둔 저장소입니다. 여기서 파이토치는 인공지능 모델을 쉽게 만들고 학습시킬 수 있도록 도와주는 공개된 도구 모음입니다.
2. 왜 화제인가요?
현대의 대형 언어 모델들은 커다란 뼈대는 비슷하지만, 문장의 어느 부분에 집중할지 고르는 주의 집중 방식이나 문장을 정돈하는 정규화 기술 등 세부적인 선택에서 차이가 납니다. 하지만 실제 기업들이 공개하는 공식 코드는 속도를 높이고 복잡한 장비에서 효율적으로 작동하도록 만들어져 있어 초보자가 구조를 파악하기 어렵습니다. 이 저장소는 각 모델의 구조적 차이를 한눈에 비교할 수 있도록 학습과 명확성을 최우선으로 하여 코드를 직접 작성했기 때문에 차이가 있습니다.
3. 핵심 내용
오픈아크는 인공지능 모델의 뼈대를 직접 구현해 놓은 저장소의 이름입니다. 이 저장소는 최신 공개 오픈소스 대형 언어 모델(LLM, 텍스트를 읽고 사람처럼 글을 쓰는 인공지능 시스템)의 구조를 파이썬(Python, 인공지능 개발에 널리 쓰이는 프로그래밍 언어)을 이용해 바닥부터 하나씩 직접 구현한 것입니다. 이 저장소에는 세바스찬 라슈카(Sebastian Raschka)의 대형 언어 모델 구조 갤러리에 정리된 모델 구조들을 파이토치(PyTorch, 페이스북이 만든 인공지능 개발용 오픈소스 도구 모음)로 직접 작성한 코드가 담겨 있습니다. 각 모델은 원본 연구 논문, 기술 보고서, 기준이 되는 설정 파일 그리고 세바스찬 라슈카와 머신 러닝 매스터리의 훌륭한 해설 글을 바탕으로 저자가 아는 한 가장 정확하게 구현되었습니다. 이 프로젝트의 목표는 유명한 대규모 인공지능 개발 도구인 트랜스포머스나 실제 서비스 운영용 라이브러리와 경쟁하는 것이 아닙니다. 오직 코드의 명확함과 학습을 목표로 하며, 구조적 선택 사항이 코드에 명시적으로 드러나 나란히 비교하기 쉽도록 모델당 하나의 읽기 쉬운 파일로 구성되어 있습니다. 현대의 대형 언어 모델들은 전체적인 뼈대는 비슷하지만, 세부적인 설계에서 수십 가지의 작고 중요한 차이점을 가집니다. 주목 메커니즘, 정규화, 위치 인코딩, 디코더 유형, 학습 과정의 기법들이 있습니다. 공식 모델 코드를 직접 읽는 것은 매우 어려울 수 있습니다. 왜냐하면 실제 서비스 운영용 저장소들은 처리 속도 최적화, 여러 대의 컴퓨터에 연산 나누기, 과거 버전과의 호환성 유지에 집중하기 때문입니다. 하지만 이 저장소는 오직 코드를 읽고 이해하기 쉽게 최적화되어 있습니다. 체크표시가 붙은 모델은 인공지능에 데이터를 넣어 결과를 도출하는 순방향 연산에 바로 사용할 수 있으며, 공사 중 표시가 붙은 모델은 아직 개발 중인 상태입니다. 텍스트 영역의 GPT-2 XL 모델은 구현 완료 상태이며, 크기는 15억 개의 매개변수를 가지고 있고, 정규화는 없으며, 절대적 위치 인코딩을 사용하고, 다중 헤드 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 라마 2 모델은 구현 완료 상태이며, 크기는 70억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 다중 헤드 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 라마 3 모델은 구현 완료 상태이며, 크기는 80억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 올모 2 모델은 구현 완료 상태이며, 크기는 70억 개이고, 알엠에스 정규화와 쿼리-키 정규화를 함께 사용하며, 로타리 위치 임베딩을 적용하고, 다중 헤드 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 딥시크 R1 모델은 구현 완료 상태이며, 크기는 6,710억 개이고, 알엠에스 정규화와 쿼리-키 정규화를 함께 사용하며, 로타리 위치 임베딩을 적용하고, 다중 헤드 잠재 주목 메커니즘을 쓰며, 혼합 전문가를 사용합니다. 젬마 3 모델은 구현 완료 상태이며, 크기는 270억 개이고, 알엠에스 정규화와 쿼리-키 정규화를 함께 사용하며, 로타리 위치 임베딩을 적용하고, 슬라이딩 윈도우가 적용된 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 미스트랄 3 모델은 구현 완료 상태이며, 크기는 240억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 슬라이딩 윈도우가 적용된 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 라마 4 매버릭 모델은 구현 완료 상태이며, 크기는 4,000억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가를 사용합니다. 큐웬 3 모델은 구현 완료 상태이며, 크기는 40억 개이고, 알엠에스 정규화와 쿼리-키 정규화를 함께 사용하며, 로타리 위치 임베딩을 적용하고, 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 30B-A3B 모델은 구현 완료 상태이며, 알엠에스 정규화와 쿼리-키 정규화를 함께 사용하고, 로타리 위치 임베딩을 적용하며, 그룹화된 쿼리 주목 메커니즘을 쓰고, 혼합 전문가를 사용합니다. 키미 K2 모델은 구현 완료 상태이며, 크기는 1조 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 다중 헤드 잠재 주목 메커니즘을 쓰며, 혼합 전문가를 사용합니다. 지엘엠 4.5 모델은 구현 완료 상태이며, 크기는 3,550억 개이고, 알엠에스 정규화와 쿼리-키 정규화를 함께 사용하며, 로타리 위치 임베딩을 적용하고, 그룹화된 쿼리 주목 및 다중 토큰 예측을 함께 쓰며, 혼합 전문가를 사용합니다. 지피티-오에스에스 모델은 구현 완료 상태이며, 크기는 200억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 슬라이딩 윈도우가 적용된 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가를 사용합니다. 그록-2.5 모델은 공사 중 상태이며, 크기는 2,700억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 그룹화된 쿼리 주목 메커니즘을 쓰며, 혼합 전문가를 사용합니다. 멀티모달 영역의 팔리젬마 모델은 구현 완료 상태이며, 크기는 30억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 다중 헤드 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 큐웬3 멀티모달 모델은 공사 중 상태이며, 크기는 30억 개이고, 알엠에스 정규화를 사용하며, 로타리 위치 임베딩을 적용하고, 다중 헤드 주목 메커니즘을 쓰며, 혼합 전문가는 사용하지 않습니다. 이미지 영역의 댈리 모델은 공사 중 상태이며, 크기 및 세부 방식은 아직 정해지지 않았거나 해당 사항이 없고 트랜스포머 구조를 사용합니다. 전체 목표 목록은 아키텍처 갤러리에 있는 72개의 모델 구조를 모두 반영하는 것입니다. 이 저장소는 오픈아크 폴더 아래에 텍스트 모델들을 모아둔 텍스트 폴더가 있고, 그 안에는 gpt2 폴더, llama3 폴더, qwen3 폴더, grok2.5 폴더, deepseek_v3 폴더가 있으며, 멀티모달 모델들을 모아둔 멀티모달 폴더 아래에는 팔리-젬마 폴더가 있고, 최상위 폴더에는 전체 설명 파일인 리드미와 필요한 도구 목록을 적어둔 리콰이어먼츠 텍스트 파일이 있습니다. 각 모델은 저마다의 독립된 폴더 안에 들어 있으며, 해당 모델의 코드 파일인 모델 파일과 그 모델이 어떤 구조적 선택을 했고 어떤 참고 자료를 썼는지 설명하는 짧은 안내 파일인 리드미가 함께 들어 있습니다. 프로젝트에 함께 참여하여 도움을 주실 기여자분들을 적극적으로 찾고 있습니다. 아직 구현되지 않은 모델을 목록에서 하나 골라 해당 모델을 위한 모델 파일을 추가해 주세요. 이미 구현된 기존 모델에 대해 어떤 구조적 특징과 선택을 거쳐 만들어졌는지 설명해 주는 안내 문서인 리드미 파일을 추가해 주세요. 인공지능 모델이 정식으로 공개된 가중치를 불러온 뒤, 짧은 단어 몇 개를 입력했을 때 원래 모델과 똑같은 결과가 나오는지 확인하는 순전파 테스트 코드를 추가해 주세요. 프로그램의 오류를 고치거나, 코드가 하는 일을 설명하는 설명문인 독스트링을 개선하거나, 여러 모델이 함께 쓰는 공통 부품을 더 깔끔하게 정리하는 리팩터링을 진행해 주세요. 규모가 큰 작업을 시작하기 전에는 다른 사람과 일이 겹치는 것을 막기 위해 반드시 먼저 문제 제기란인 이슈를 열어 논의해 주시기 바랍니다. 이 프로젝트의 코드는 성능을 극한으로 끌어올리는 것보다 다른 사람들이 읽고 이해하기 쉽게 만드는 가독성을 최우선으로 삼으며, 어디까지나 공부를 위한 교육 자료를 목적으로 하기 때문입니다. 이 저장소는 두 분의 훌륭한 교육자분들의 노력이 없었다면 세상에 나올 수 없었을 것입니다. 세바스티안 라슈카 님께 감사드립니다. 제이슨 브라운리 님과 머신 러닝 마스터리 팀에도 감사드립니다. 이 프로젝트는 아파치 라이선스 2.0 조건에 따라 사용할 수 있습니다. 이 구현체들은 공개적으로 이용할 수 있는 논문, 기술 보고서, 설정 파일, 그리고 교육 자료를 바탕으로 작성되었습니다.
4. 나에게 어떤 영향이 있나요?
일반 독자에게 직접적인 영향은 없지만, 인공지능 모델의 내부 구조를 공부하려는 학생이나 개발자들에게 학습 자료로 활용될 수 있습니다. 실제 서비스 환경에서 성능을 내는 상용 라이브러리와 경쟁하는 용도가 아니므로 상업적으로 바로 쓰기는 어렵고, 논문이나 기술 보고서를 바탕으로 모델의 구조를 직접 코드로 확인하고 싶은 이들이 참고하기에 적합합니다. 새로운 모델을 추가하거나 문서를 개선하는 기여 활동에도 참여할 수 있습니다.