오늘 출근하니까 슬랙 메시지가 하나 와있더라.

에? OpenAI에서 오픈소스 모델을 발표했다고?

120b랑 20b 두 버전을 발표했고, MXFP4 양자화를 통해 120b는 단일 H100 GPU에서 구동 가능하고 20b는 16GB VRAM GPU에서 구동이 가능하다고 함 ㄷㄷ;

gpt-oss-120b — 프로덕션 환경, 범용, 높은 추론 능력을 요구하는 사용 사례에 적합하며 단일 H100 GPU에 적재 가능 (117억 개 파라미터, 활성 파라미터 51억 개)
gpt-oss-20b — 낮은 지연 시간, 로컬 또는 특수화된 사용 사례에 적합 (210억 개 파라미터, 활성 파라미터 36억 개)

MoE는 뭐고 MXFP4는 또 뭔가?? gpt-4o 한테 물어봤다.

MoE(Mixture‑of‑Experts) 레이어는 입력마다 특정 전문가(expert) 서브네트워크를 선별해 활성화하는 조건적 계산 구조입니다. 
모델은 수십에서 수백 개의 전문가를 갖고 있으며, 입력당 활성화되는 전문가 수는 보통 4개로 제한됩니다. 
이를 통해 전체 전문가 수는 수십억 개에 달해도 실제 추론 시 활성 가중치는 3.6B(gpt‑oss‑20b) 또는 5.1B(gpt‑oss‑120b) 수준으로 유지되며, 높은 모델 용량을 낮은 연산 비용으로 활용할 수 있습니다.
하지만 모든 전문가의 파라미터가 메모리에 상주해야 하기 때문에, 메모리 요구량이 매우 큽니다.

MXFP4은 OCP(Open Compute Project)의 Microscaling(MX) 규격에 기반한 4비트 부동소수점(float) 양자화 형식입니다. 
이 포맷은 데이터 블록(예: 32개 값)마다 하나의 스케일링 인자(exponent)를 공유하며 각 요소는 E2M1 형식 4비트 FP로 저장됩니다.
블록당 한 지수를 공유함으로써 표현 정밀도는 유지하면서 전체 메모리 및 연산량을 크게 줄일 수 있고, 모델 정확도 손실도 소화됩니다.

gpt‑oss‑20b와 gpt‑oss‑120b는 MoE 구조의 대부분 파라미터(90% 이상)를 MXFP4 방식으로 양자화해 MoE 레이어의 메모리 부담을 획기적으로 줄였습니다. 
이 덕분에 gpt‑oss‑20b는 약 16 GB 메모리만으로 실행이 가능하며, gpt‑oss‑120b는 단일 80 GB H100 GPU 내에서 구동할 수 있습니다.

gpt‑oss‑20b는 총 20.9B 파라미터, 토큰당 3.6B 활성 파라미터로 동작하며 약 12.8 GiB 크기의 체크포인트를 갖습니다. 
gpt‑oss‑120b는 총 116.8B 파라미터, 토큰당 5.13B 활성 파라미터, 체크포인트 크기는 약 60.8 GiB입니다.
MXFP4 양자화 적용 덕분에 두 모델 모두 합리적인 GPU 메모리 조건에서 실행할 수 있게 되었습니다.

정리하면, MoE 구조는 전문가 기반의 뛰어난 확장성과 연산 효율성을 제공하지만 높은 메모리 수요가 단점입니다.
여기서 MXFP4 양자화는 MoE 가중치를 4비트로 압축함으로써 이 단점을 완화하며, 고성능 모델을 비교적 적은 VRAM 환경에서도 실행할 수 있도록 합니다.

당최 이해가 안되어서 쉽게 설명해달라고 해봤다.

MoE(Mixture‑of‑Experts) 레이어는 수많은 작은 전문가 신경망(예: 32명 혹은 128명의 전문가) 중에서 문장이나 단어 같 입력마다 가장 적합한 전문가 4명만 골라 동작시키는 구조입니다. 
입력 하나에 전체 전문가를 모두 사용하는 것이 아니라, 선택된 일부만 활성화되므로 훨씬 적은 연산으로도 높은 성능을 내며, 필요한 능력을 큰 모델처럼 활용할 수 있습니다.
예를 들어 gpt‑oss‑20b 모델은 전체 전문가 수는 많지만, 실제로는 입력당 약 3.6B 파라미터만 사용하고, gpt‑oss‑120b는 단지 약 5.1B만 활성화됩니다.

하지만 MoE의 단점은 모든 전문가 파라미터가 메모리에 올라가야 한다는 점입니다. 
모델이 수십억 개의 파라미터를 갖고 있어 추론 시에는 활성 전문가만 사용하더라도, 전체 파라미터를 메모리에 올리는 부담이 큽니다.

이 문제를 해결하는 것이 MXFP4 양자화 기술입니다. 
MXFP4은 ‘Microscaling Floating‑Point 4‑bit’라는 포맷으로, 숫자들을 4비트 부동소수점 형식(E2M1)으로 표현하되, 32개 숫자 블록마다 하나의 스케일링 지수(exponent, E8M0)를 공유합니다. 
즉, 32개의 값이 하나의 스케일 값을 통해 압축되어 저장되므로 메모리를 크게 줄이면서도 정밀도는 크게 손상되지 않습니다.

gpt‑oss‑20b와 120b 모두 MoE 구조 기반의 모델이며, MoE 가중치(전체 파미터의 90% 이상)를 MXFP4 형식으로 양자화합니다. 
이 덕분에 gpt‑oss‑20b는 약 16 GB 메모리만으로 실행 가능하며, gpt‑oss‑120b는 단일 80 GB H100 GPU에서 구동할 수 있습니다. 
체크포인트 파일 크기는 gpt‑oss‑20b가 약 12.8GiB, gpt‑oss‑120b가 약 60.8GiB입니다.

요약하자면, MoE는 “여러 전문가 중 일부를 선택해 계산하는 효율적인 구조”이고, MXFP4는 “4비트 부동소수점 방식으로 데이터를 블록 단위로 압축해 저장하는 기술”입니다.
이 둘을 결합하면 거대한 전문가 모델도 비교적 적은 메모리 환경에서 빠르고 효율적으로 실행할 수 있습니다.