[논문 리뷰] Goldfish: Monolingual Language Models for 350 Languages
메타정보
| 항목 | 내용 |
|---|---|
| 저자 | Tyler A. Chang, Catherine Arnett, Zhuowen Tu, Benjamin K. Bergen (UC San Diego) |
| 학회 | arXiv preprint · 2026 (cs.CL, v2) |
| arXiv | 2408.10441 |
| Code | tylerachang/goldfish · goldfish-models on Hugging Face |
| 데이터 | OSCAR · Glot500 · MADLAD-400 · NLLB seed · Wikipedia · 그 외 ~80개 코퍼스 · byte premium scaling 후 5MB~1GB 절단 |
| 리뷰 일자 | 2026-05-14 |
TL;DR
- 350개 언어 각각에 대해 5MB · 10MB · 100MB · 1GB · full 의 다섯 가지 데이터 크기로 GPT-2 계열 단일언어 모델을 사전학습해 총 1,154개 모델 (350개 언어) 을 공개한다. 1GB 모델은 125M 파라미터, 5/10MB는 39M.
- 비교 가능성을 확보하기 위해 byte premium scaling 으로 모든 언어를 영어 등가 데이터 양에 맞춘다. 즉 1GB 데이터셋은 content-matched 1GB이지 bytes-of-the-language 1GB이 아니다.
- 결과적으로 작은 단일언어 모델이 XGLM 4.5B · BLOOM 7.1B · MaLA-500 10B 같은 수십 배~수백 배 큰 다국어 모델보다 FLORES perplexity 가 낮다. 예: MaLA-500 대비 175개 언어 중 111개 (63%) 에서 승리.
- 흥미롭게도 단순 bigram 베이스라인이 XGLM 4.5B 보다 24% 언어, BLOOM 7.1B 보다 43% 언어에서 더 낮은 perplexity를 보인다 — 거대 다국어 모델이 저자원 언어에서는 기본적인 다음 토큰 예측조차 못 한다는 강한 증거.
- 단 reasoning 벤치마크 (Belebele · XCOPA · XStoryCloze) 에서는 모든 sub-1B 모델이 chance 수준에 머물러, perplexity 향상이 곧 reasoning 향상은 아니다.
소개
저자원 언어 (low-resource language) 모델링 연구는 오랫동안 거대 다국어 모델 (massively multilingual model) 에 의존해 왔다. XLM-R, BLOOM, XGLM, MaLA-500 같은 모델은 수십~수백 개 언어를 한 모델로 다루며, 단일 언어로는 데이터가 부족한 상황을 다국어 합성으로 보완한다는 직관에 기반한다. 하지만 이 직관은 두 가지 측면에서 의심받아 왔다. 첫째, curse of multilinguality (Conneau et al., 2020b) — 한 모델에 너무 많은 언어를 넣으면 개별 언어 품질이 떨어진다. 둘째, 학습 데이터가 영어·중국어 등 고자원 언어에 극단적으로 쏠려 있다 (XGLM 4.5B는 노르웨이어가 케추아어보다 7,000배 많고, BLOOM은 Akan 8.1M 화자에 대해 70KB 데이터만 사용).
이 논문은 그 의심을 정량적으로 확인한다. 저자들은 Hugging Face 분석에서 350개 후보 언어 중 215개가 단일언어 텍스트 생성 모델이 전혀 존재하지 않으며, 47개는 어떤 텍스트 생성 모델도 없다는 점을 보여준다 (Arnett and Chang, 2025). 비교 기준조차 없는 이 공백을 메우려 저자들은 단일언어 모델을 언어당 한 개씩 만들어, 누구나 fine-tuning이나 downstream 비교의 베이스라인으로 사용할 수 있도록 공개한다.
흥미로운 점은 결과가 거대 모델에 부정적으로 작용한다는 것이다. 125M 파라미터의 GPT-1 급 단일언어 모델이 XGLM 4.5B, BLOOM 7.1B, MaLA-500 10B 보다 perplexity가 낮다. 게다가 단순한 bigram 모델조차 거대 다국어 모델을 상당수 언어에서 이긴다. 즉 거대 다국어 모델은 저자원 언어에서 next-token prediction이라는 가장 기초적인 작업조차 학습하지 못한 채 출시되고 있었다는 해석이다.
저자원 언어 NLP가 점점 더 LLM-as-a-service 패러다임에 종속되어 가는 지금, Goldfish는 small monolingual baseline이 여전히 유효하며 오히려 일부 측면에서 우월하다 는 메시지를 제공한다. 동시에 1GB 데이터에 1.65 × 10²⁰ FLOPs 라는, GPT-3 의 1/1900에 불과한 컴퓨팅 예산으로 350개 언어를 커버한다는 점에서, “limited compute lab 도 의미 있는 저자원 모델링이 가능하다” 는 입장도 제시한다.
핵심 기여
- 350개 언어 · 1,154개 모델 공개. 5MB/10MB/100MB/1GB/full 의 다섯 가지 데이터 브래킷으로, byte premium 보정 후 영어 등가 1MB · 2MB · 20MB · 200MB 토큰에 해당하는 양으로 학습. 215개 언어에 대해서는 최초의 단일언어 모델.
- 거대 다국어 모델의 perplexity 우위를 뒤집음. XGLM 4.5B · BLOOM 7.1B · MaLA-500 10B 모두 FLORES log-perplexity에서 Goldfish 124M에게 평균 perplexity로 진다. 175개 언어 기준 Goldfish vs MaLA-500 승률 63%.
- 거대 다국어 모델 vs bigram 비교. 단순 stupid backoff bigram 이 XGLM 4.5B의 24% 언어, BLOOM 7.1B의 43% 언어에서 더 낮은 perplexity를 낸다. 거대 모델이 저자원 언어에서 기본기를 잃었다 는 명시적 증거.
- MultiBLiMP grammaticality에서 모든 sub-1B 다국어 모델을 능가. Goldfish 124M = 78.8 vs Gemma 3 270M = 72.3, BLOOM 560M = 64.2.
- Byte premium scaling 의 실용적 도입. 단순 “MB 단위” 비교가 언어마다 인코딩 효율이 다르다는 함정을 어떻게 피하는지 실증.
관련 연구 / 배경 지식
거대 다국어 모델의 한계
다국어 사전학습은 두 가지 가설로 정당화돼 왔다. 첫째 transfer: 유사 언어 데이터가 저자원 언어 학습을 돕는다 (Conneau et al., 2020b). 둘째 scale: 데이터·모델이 커지면 저자원 측 손실도 줄어든다. 두 가설 모두 일부 맞지만 한계가 명확하다.
- Curse of multilinguality (Conneau et al., 2020b; Chang et al., 2024a): 일정 모델 크기에서 언어를 추가할수록 개별 언어 quality가 떨어진다.
- Data imbalance: XGLM 4.5B 학습셋은 노르웨이어 (71GB) vs 케추아어 (0.01GB), BLOOM은 Akan 70KB (전체의 4e-6%). 토큰 비율이 이 정도면 모델 입장에서는 “거의 본 적 없는” 언어다.
Goldfish 저자들의 이전 작업 Chang et al. (2024a) 는 250개 언어에서 monolingual vs multilingual을 직접 비교해, 모델 크기가 작을수록 monolingual이 우세하고 데이터가 충분할수록 monolingual이 이긴다 는 결과를 보였다. Goldfish는 이 결론을 production 형태로 확장한 논문에 해당한다.
Byte premium 이란
언어마다 같은 의미의 텍스트를 UTF-8로 인코딩할 때 필요한 바이트 수가 다르다. 영어를 기준 1로 두면, 크메르어 (Khmer, khm_khmr) 는 같은 의미에 3.91 배 의 바이트가 필요하다. 만약 raw byte 기준으로 “1GB 데이터로 학습했다” 고 비교하면, 크메르어 모델이 본 콘텐츠 양 은 영어 모델의 약 1/3.91 ≈ 26% 에 불과하다. 즉 단순 MB 비교는 fair comparison이 아니다.
Arnett et al. (2024) 의 byte premium tool 은 언어별 byte premium $b$ 를 측정하거나 문자 엔트로피와 script 타입 (alphabet/abjad/abugida/logography) 으로 회귀 추정한다. Goldfish는 모든 데이터셋 크기를 byte premium 으로 나눠 content-matched 크기로 환산한 뒤 5MB/10MB/100MB/1GB로 절단한다. 이 보정 자체는 작은 디테일이지만, 350개 언어를 공정하게 비교하려면 필수적인 전처리다.
비교 대상 다국어 모델
- XGLM (Lin et al., 2022): 134개 (4.5B) 또는 30개 (7.5B) 언어 GPT-2 계열. 7.5B 모델은 30개 고자원 언어만 다룸.
- BLOOM (Scao et al., 2022): 46개 언어, 7.1B / 176B. Akan 같은 극단적 데이터 부족 언어 포함.
- MaLA-500 (Lin et al., 2024): LLaMA 2 7B/10B 위에 Glot500 코퍼스로 continued pretraining, 534개 언어.
- MaLA-500 10B: Goldfish와 가장 직접 비교 가능 (언어 수도 많고 generative).
방법 / 아키텍처 상세
아키텍처 선택
Goldfish는 모두 GPT-2 아키텍처 (Radford et al., 2019) 를 사용한다. 데이터 크기에 따라 두 가지 사이즈:
- 125M parameters (100MB / 1GB / full): GPT-1, BERT-base, RoBERTa 와 동급. 12 layers, hidden 768, 12 heads, FFN 3072.
- 39M parameters (5MB / 10MB): Turc et al. (2019) 의 small BERT 사이즈. 4 layers, hidden 512, 8 heads, FFN 2048.
작은 데이터에 큰 모델을 쓰면 overfitting 이 심해진다 (Chang et al., 2024a 가 실증)는 이전 관찰을 그대로 따른 선택이다. 즉 데이터 양이 적을수록 작은 모델.
토크나이저
각 언어별로 언어 전용 Unigram SentencePiece 토크나이저를 vocabulary size 50K 로 학습한다 (Kudo and Richardson, 2018). 학습 텍스트는 해당 모델이 쓰는 데이터셋과 같은 데이터셋에서 100MB 단위로 sampling. byte premium scaling 도 동일하게 적용. 토크나이저가 단일언어에 fit 되므로 영어가 아닌 언어에서도 vocab 효율이 좋다.
입력 포맷
토크나이즈 후 텍스트 라인을 concat 해 정확히 512 토큰 시퀀스를 만든다. 이때 셔플링은 데이터 샘플링 직전에 수행 해 가능한 한 연속된 문맥을 보존한다 (일부 원본 코퍼스는 이미 shuffled 라 예외). 512 token max sequence는 GPT-2 의 1024 보다 짧지만 작은 데이터에 적합하고 학습 효율을 높인다.
학습 하이퍼파라미터
- 학습률: 1e-4 일괄. GPT-1 의 2.5e-4 보다 작지만, Chang et al. (2024a) 에서 작은 모델에 2e-4 가 잘 동작한다는 보고와 일치 — 작은 학습률이 overfitting 위험을 줄인다.
- 배치 크기: 5MB=4, 10MB=8, 100MB=32, 1GB=64. full-data 모델은 1GB/100MB/10MB/5MB 중 그 언어가 도달한 최대 카테고리에 해당하는 batch size 사용. 의도는 작은 데이터에서 큰 배치 = 빠른 overfitting 을 피하는 것.
- Epochs: 10. 데이터 제약 환경에서는 multi-epoch 가 유리하지만 (Muennighoff et al., 2023), 5MB에서 10 epoch 이상은 eval loss 가 상승.
- Warmup: 10% pretraining steps, linear decay.
- 총 컴퓨팅: 모든 1,154개 모델 합쳐 1.65 × 10²⁰ FLOPs. GPT-3 175B (3.14 × 10²³ FLOPs) 의 1/1900. GPU 시간으로는 ~15,600 A6000 시간.
Bigram 베이스라인
Goldfish 와 같은 데이터·같은 토크나이저로 stupid backoff bigram (Brants et al., 2007) 을 학습한다. $P(w_i \mid w_{i-1})$ 가 0 일 때 unigram 확률에 backoff penalty $\lambda = 0.40$ 을 곱해 보정. 더 높은 $n$-gram 은 backoff 의존도가 너무 커서 제외. 이 단순한 베이스라인이 본문의 핵심 발견 — 거대 다국어 모델이 bigram을 못 이긴다는 결과 — 을 만들어 낸다.
학습 목표
표준 GPT-2 의 인과적 언어모델링 (causal LM) 손실:
\[\mathcal{L}(\theta) = - \mathbb{E}_{s \sim \mathcal{D}}\left[ \sum_{t=1}^{T} \log P_\theta(w_t \mid w_{<t}) \right]\]여기서 $s$ 는 512 토큰 시퀀스, $w_{<t}$ 는 이전 토큰들, $\theta$ 는 39M 또는 125M 파라미터. 평가에서는 같은 손실의 sequence-level 평균을 perplexity로 환산하는데, 토크나이저 차이를 보정하기 위해 sentence-level log-perplexity 를 사용한다:
\[\text{LogPPL}_{\mathcal{M}} = \operatorname{mean}_s \Big( - \log P_{\mathcal{M}}(s_1 \mid s_0) \Big)\]각 FLORES 문장 $s$ 를 문자 수 기준 절반으로 나눠 $s_0, s_1$ 으로 두고, 첫 절반을 prompt로 둘째 절반의 log-probability를 평가한다. 절반 분할 지점은 가까운 subword 토큰 경계로 반올림. 토크나이저마다 token 수가 달라도 입력 prompt $s_0$ 가 동일한 콘텐츠를 담도록 해 다른 모델과 fair comparison이 된다. [UNK] 토큰은 $1/|\mathcal{V}|$ 로 처리해 unseen script 가 아닌 한 perplexity에 영향이 거의 없게 한다.
이 방식은 단순 perplexity 비교의 잘 알려진 함정 — 토크나이저가 더 짧게 인코딩하는 모델이 자동으로 perplexity 가 낮아 보이는 — 을 피하는 데 중요하다.
학습 데이터와 파이프라인
데이터 출처
총 ~80개의 코퍼스를 통합한다. 큰 흐름은:
- Chang et al. (2024a) 코퍼스 — OSCAR, Wikipedia, NLLB seed, eBible, AfriBERTa, NusaX 등 ~40개 소스.
- Glot500 (Imani et al., 2023) — 511개 언어를 다루는 corpus, Chang et al. 코퍼스 미포함 언어만 병합.
- MADLAD-400 (Kudugunta et al., 2023) clean split — CommonCrawl 기반. 위 두 소스로도 1GB 미달인 언어만 추가.
- 일부 언어는 averaged line length가 25 token 미만이면 MADLAD-400 contiguous sequence 도 추가 (라인이 너무 짧으면 LM 학습 신호가 약해지므로).
전처리
- 중복 제거: 동일 100 UTF-8 바이트 시퀀스 단위 dedup (Lee et al., 2022). 같은 언어가 여러 코퍼스에 등장하므로 필수.
- 언어 코드 정규화: ISO 639-3 + ISO 15924 (예:
khm_khmr= 크메르어 + 크메르 문자). macrolanguage (que_latn케추아어 일반) 와 individual language (quy_latnAyacucho Quechua,quz_latnCusco Quechua) 둘 다 유지. 일부 코드는 redundancy 로 drop (ory_oryaOdia → macrocodeori_orya로 통합). - FLORES / AmericasNLI 데이터 제거: 평가 leakage 방지. 그래도 인터넷 텍스트 contamination 위험이 있어, FLORES sequence의 첫 10 토큰이 학습 데이터에 몇 번 등장하는지 검사. 결과는 98%의 언어에서 2000개 FLORES sequence 중 10개 미만 contamination. 예외는 Samoan (7,155회) 과 Central Kanuri (371회) — 보고는 하되 제거는 하지 않음.
- Bible-only 언어 drop: 텍스트가 성경 번역밖에 없는 언어는 domain bias 가 너무 커서 제외.
최종 데이터 통계
- 총 547GB · 523 language-script 조합 · 486 unique language code · 32 script.
- Goldfish 모델 학습은 350 언어 (5MB 미만 언어 제외) · 1154 모델 (5MB 350개 + 10MB 288개 + 100MB 166개 + 1GB 83개 + full 267개).
- 1GB 데이터셋은 byte premium 보정 후이므로 실제 바이트 양은 0.7~5.0배 변동. 가장 high-premium 언어는 미얀마어
mya_mymr(5.0× clip).
학습 환경
NVIDIA GTX TITAN X, RTX 2080 Ti, TITAN Xp, Quadro P6000, RTX A4500/A5000/A6000 GPU 다양하게 혼합. 단일 GPU pretraining. 전체 1,154개 모델 학습에 ~15,600 A6000 GPU 시간 (약 651 GPU·일). Inference 평가 (FLORES + 4 reasoning 벤치마크) 에는 ~250 A6000 시간 추가 — 평가에 더 많은 시간이 드는 이유는 비교군의 대형 다국어 모델 inference 때문.
실험 결과
FLORES log-perplexity
핵심 결과 (Goldfish 가 1GB 모델을 가진 73개 언어 평균):
- Goldfish 76.9 — Bigrams 112.3 — XGLM 4.5B 78.6 — MaLA-500 10B 84.7
이 73 + 22 + 5 = 100 언어 (XGLM 4.5B · MaLA-500 · FLORES 모두 포함) 가 Goldfish 최대 데이터 카테고리 별로 분리된 결과다. 흥미로운 점은 10MB/5MB 카테고리에서도 Goldfish가 XGLM 4.5B (183.1) 를 큰 차이로 이긴다 (130.5). 즉 5MB 단일언어 모델이 4.5B 다국어 모델보다 좋은 next-token predictor라는 충격적인 결과.
Bigram이 거대 다국어 모델을 이긴다
이 표가 논문의 가장 강한 메시지를 담는다. 두 가지 신호:
- Goldfish vs 거대 다국어: 102개 언어 중 60개 (59%) 에서 XGLM 4.5B 보다 우세. MaLA-500 10B 와는 63%. 유일한 예외는 XGLM 7.5B (30개 고자원 언어만 다룸) — 거기서는 Goldfish 2/30 만 승.
- Bigram vs 거대 다국어: 단순 backoff bigram 도 XGLM 4.5B 의 102개 중 24개, BLOOM 7.1B 의 46개 중 20개 (43%) 에서 perplexity 가 더 낮다. 이는 거대 다국어 모델이 일부 저자원 언어에서 unigram 분포조차 제대로 잡지 못함 을 시사한다.
XGLM 7.5B 만 거의 모든 비교를 이기는데, 이는 그 모델이 오직 30개 고자원 언어 만 다루기 때문이다. 즉 적게 분산하면 잘하지만 많이 분산하면 못 한다 는 curse of multilinguality의 정량적 재확인.
다운스트림 벤치마크
- MultiBLiMP (grammaticality, 74개 언어): Goldfish 124M = 78.8 (최고). Gemma 3 270M = 72.3, BLOOM 560M = 64.2, XGLM 564M = 66.6. 심지어 Gemma 3 1B (78.0), LLaMA 3 1B (77.4) 도 살짝 능가.
- Belebele (121개 언어 reading comprehension): 전부 chance 수준 (25~29). Goldfish 28.2, XGLM 564M 29.0.
- XCOPA / XStoryCloze: 전부 chance + ~5%. 1B 미만 모델은 사실상 의미 있는 reasoning을 하지 못한다.
이 결과는 두 가지 해석을 부른다. 첫째, small monolingual 은 언어 지식 측면에서 비례 이상의 효과가 있다 — MultiBLiMP는 fine-tuning 없이 next-token log-probability ranking 만으로 평가하니, 모델의 grammatical competence가 직접 측정된다. 둘째, reasoning은 사이즈 의존적이라 1B 미만 으로는 안 됨 — Goldfish가 perplexity 에서 거대 모델을 이겨도 reasoning 은 못 한다.
결과 분석
왜 작은 단일언어 모델이 거대 다국어 모델을 이기는가
저자들이 명시적으로 ablate 하진 않지만, 다음 요인들이 추론 가능하다:
- Capacity allocation: 4.5B 파라미터를 134개 언어로 나누면 언어당 평균 34M 파라미터 상당. Goldfish 124M 은 그 4배 + 모든 capacity 가 그 언어에만 헌신.
- Tokenizer fit: 각 Goldfish 모델은 자기 언어 50K vocab. 다국어 모델은 100K~250K vocab을 100~500 언어로 나누므로 저자원 언어가 byte-level fallback에 가까워진다.
- Data balancing: byte premium scaling 으로 1GB content-matched. 다국어 모델은 sampling temperature를 써도 결국 high-resource 가 dominant.
24% / 43% 의 bigram 우세는 특히 흥미롭다. bigram이 거대 LM 을 이기려면 LM의 next-token 분포가 unigram 분포보다도 멀어져야 하는데, 이는 모델이 그 언어를 거의 학습하지 못했음 을 의미한다.
Contamination 분석
FLORES leakage가 의심된다면 결과는 무효일 수 있다. 저자들은 FLORES 첫 10 토큰을 학습 데이터에서 검색해 98% 언어에서 10개 미만 contamination 을 확인한다. 예외는 사모아어 (smo_latn) 7,155회와 Central Kanuri (knc_arab) 371회. 본 결과는 이 예외 언어를 포함한 평균이므로, 제거해도 큰 그림은 변하지 않을 것 (저자도 거기까진 verify 하지 않음).
Reasoning 한계의 의미
MultiBLiMP 외 모든 reasoning task에서 chance 라는 것은 단순 모델 사이즈 부족 으로 해석된다. 같은 표 Table 3에서 Gemma 3 1B 와 LLaMA 3 1B 도 XCOPA/XStoryCloze 에서 56~60 수준에 머문다 (chance 50). 즉 instruction tuning이나 prompting이 없는 base LM 평가에서는, 1B 미만 어떤 모델도 의미 있는 reasoning을 하지 못한다는 것이 일반적 현상이다. Goldfish는 그 결과를 350개 언어로 확장 해 확인한 셈.
한계와 비판적 평가
저자가 명시한 한계:
- Comparability and availability: 5MB 가 모든 언어에 가용한 건 아니다 (350 → 5MB 350개, 단 데이터가 그 이하인 다수 언어는 제외됨). 또 동일 분량이라 해도 코퍼스 quality와 domain (뉴스 vs 소셜 vs 종교) 이 언어마다 달라 완벽한 comparability는 불가능.
- Monolinguality: 의도된 design choice 지만, 유사 언어로 transfer가 가능한 경우 (Conneau et al., 2020b) 손해를 본다. 즉 비교 가능성과 성능 사이의 trade-off.
- Model and dataset size caps at 1GB · 125M: 저자원에 집중한 선택. high-resource 언어에서는 GPT-3 와 비교하면 사이즈가 너무 작다.
- Downstream limited to perplexity + grammaticality: reasoning은 1B 미만이면 의미 없으므로 평가에서 사실상 제외. 즉 Goldfish 가 정말 좋은 모델인가 는 next-token 예측 + 문법성 한정.
- Risks and dataset licensing: PII / offensive content 보장 불가. publicly released corpora 만 사용했지만 그 자체도 검수가 부족할 수 있음.
리뷰어 관점의 추가 한계:
- Bigram 비교의 fairness: bigram도 같은 토크나이저·같은 학습 데이터를 쓴다고 했지만, 의문 — bigram은 long-range context를 못 보고도 거대 LM 을 24% 이긴다. 이는 거대 LM 이 long-range를 활용 못 한다 는 의미인지, FLORES 평가가 short context라 short-context 모델에 유리 한지 구분이 어렵다. FLORES sequence를 두 반으로 나누는 평가 방식 상, prompt 길이가 충분해 long-range 가 거의 의미 없을 가능성이 있다.
- Goldfish vs 거대 모델 의 컴퓨팅 비교: 1.65 × 10²⁰ FLOPs 가 GPT-3 의 1/1900 이라 적게 들었다고 강조하지만, 언어당 FLOPs 는 1.43 × 10¹⁷. 이는 영어 GPT-3 의 약 1/2,200,000. 비교 perspective 가 언어당 인지 전체 인지에 따라 메시지가 다르다.
- 단일언어 가정의 현실성: 저자원 언어 화자들이 실제 NLP application에서 원하는 것은 그 언어 monolingual 보다는 그 언어와 영어 (또는 다른 high-resource lang) 사이 task 일 가능성이 크다. Goldfish는 그 use case 에는 직접 적용 못 한다 — fine-tuning 또는 추가 코드를 거쳐야 함.
- 모델 호스팅·유지보수: 1,154개 모델을 HuggingFace 에 모두 올렸지만, 장기 유지에 대한 commitment 가 명시되지 않음. 저자원 언어 community에 핵심 자원이 되려면 model card · maintenance 약속이 필요.
시사점 / Takeaways
- 거대 다국어 모델이 모든 답이 아니다. 저자원 언어에서는 4.5B 모델이 39M 모델에게 perplexity 로 진다. 무조건적 scaling-up 보다 언어별 capacity allocation 에 대한 진지한 사고가 필요.
- Bigram이 거대 LM 을 24~43% 언어에서 이긴다는 사실은 충격적이다. 이는 다국어 LM training 의 sampling 전략·data balancing이 예상보다 훨씬 저자원 언어를 망치고 있다는 정량적 증거. 차세대 다국어 모델 설계자들은 이 결과를 직접 반증할 의무가 있다.
- 저자원 NLP 의 baseline 문제 해결. 215개 언어가 처음으로 monolingual LM 베이스라인을 가진다는 점만으로도 이 논문의 가치는 크다. fine-tuning 비교, 데이터 quality 측정, language ID 검증 등 다양한 후속 작업의 launch pad.
- Byte premium 보정은 multilingual 비교에서 default가 되어야 한다. Goldfish 의 fair comparison 결과는 byte premium 없으면 성립하지 않는다. 다국어 평가 논문이라면 이 보정을 무시할 이유가 없다.
- 1B 미만 모델로 reasoning은 안 된다. Goldfish 가 perplexity 에서 이겨도 XCOPA / Belebele 은 chance. 저자원 NLP 의 미래가 small monolingual LM + 다른 무언가 인지, 큰 monolingual 인지, 효율적 transfer 가 있는 다국어 인지는 여전히 열린 질문.
설치 및 사용법
모든 모델은 Hugging Face Hub 에서 사용 가능. 모델 이름은 goldfish-models/<lang_script>_<size>.
from transformers import AutoTokenizer, AutoModelForCausalLM
# 1GB 영어 모델
tokenizer = AutoTokenizer.from_pretrained("goldfish-models/eng_latn_1000mb")
model = AutoModelForCausalLM.from_pretrained("goldfish-models/eng_latn_1000mb")
prompt = "Goldfish are"
ids = tokenizer(prompt, return_tensors="pt").input_ids
out = model.generate(ids, max_new_tokens=20, do_sample=False)
print(tokenizer.decode(out[0]))
# → "Goldfish are a species of fish that are found in the sea."
다른 사이즈는 suffix 만 바꿔서 (_5mb, _10mb, _100mb, _full), 다른 언어는 ISO 639-3 + ISO 15924 코드로 (khm_khmr, swa_latn, mya_mymr 등). 학습 데이터는 별도 데이터셋 hub goldfish-models/fish-food 에서.
평가 코드 (FLORES log-perplexity, contamination check) 는 GitHub repo 의 evaluation/ 에 있다.
참고 자료
- 논문: https://arxiv.org/abs/2408.10441
- 코드: https://github.com/tylerachang/goldfish
- 모델 (Hugging Face): https://huggingface.co/goldfish-models
- 데이터셋: https://huggingface.co/datasets/goldfish-models/fish-food
더 읽어보기
- When Is Multilinguality a Curse? Language Modeling for 250 High- and Low-Resource Languages (Chang et al., EMNLP 2024) — Goldfish 의 직접적 전신. 250개 언어에서 monolingual vs multilingual 을 체계적으로 비교해, 작은 모델 + 충분한 단일언어 데이터 = monolingual 우세라는 결론.
- A Bit of a Problem: Measurement Disparities in Dataset Sizes Across Languages (Arnett et al., SIGUL @ LREC-COLING 2024) — Goldfish 가 사용하는 byte premium 도구의 원논문. 1,155개 언어의 byte premium을 측정·회귀 추정, 다국어 데이터셋 fair comparison의 기반.
- Glot500: Scaling Multilingual Corpora and Language Models to 500 Languages (Imani et al., ACL 2023) — Goldfish 가 데이터 소스 중 하나로 사용하는 511 언어 코퍼스. XLM-R 위에 continued pretraining 한 Glot500-m 도 함께 공개.
- MaLA-500: Massive Language Adaptation of Large Language Models (Lin et al., 2024) — Goldfish 와 가장 직접 비교되는 baseline. LLaMA 2 10B + Glot500 continued pretraining 으로 534개 언어 커버.
- Few-shot Learning with Multilingual Language Models (XGLM) (Lin et al., EMNLP 2022) — Goldfish 의 핵심 비교 대상 XGLM 4.5B/7.5B. 134/30 언어 GPT-2 계열 다국어 모델.
- MultiBLiMP 1.0: A Massively Multilingual Benchmark of Linguistic Minimal Pairs (Jumelet et al., TACL 2026) — Goldfish 가 grammaticality 평가에 사용. Universal Dependencies + UniMorph 기반 자동 minimal pair 생성, 101개 언어 12.8만 쌍.
Enjoy Reading This Article?
Here are some more articles you might like to read next: