AllenNLP 소개 — 설치와 플러그인 구조
AllenNLP 소개
자연어 처리를 연구하다 보면 '모델/데이터/옵티마이저를 어떻게 조립하고 실험을 반복할까'가 핵심 고민이 돼요. AllenNLP는 이걸 설정 파일과 등록(Registrable) 구조로 표준화한 PyTorch NLP 라이브러리예요. AI2가 만들었고 Apache 2.0 라이선스예요.
핵심 개념
- 스타트 가이드: 모델 개발은 공식 AllenNLP Guide를 권장하고,
allennlp train+ config 파일 방식 또는 Python 코드 방식의 템플릿 저장소를 제공해요. - 플러그인:
allennlp-models,allennlp-server,allennlp-optuna같은 플러그인을 동적으로 로드해요. 커스텀 플러그인은.allennlp_plugins(로컬) 또는~/.allennlp/plugins(전역) 파일에 모듈을 한 줄씩 적으면 인식돼요. - 패키지 구조:
allennlp.data(데이터 처리),allennlp.models(SOTA 모델),allennlp.training(학습),allennlp.nn(텐서 유틸) 등으로 나뉘어요.
설치
Python 3.6.1+와 PyTorch가 필요해요. pip로 설치합니다.
pip install allennlp
pip install allennlp-models # 공식 지원 모델
Docker도 제공돼요 (GPU 사용 시 NVIDIA Container Toolkit 필요).
docker run --rm --gpus all -v $HOME/.allennlp:/root/.allennlp allennlp/allennlp:latest
설치 후 allennlp test-install로 확인할 수 있어요. Windows는 공식적으로 지원되지 않고 Mac·Linux를 지원해요.
CLI
설치하면 allennlp 명령이 생겨요. train, evaluate, predict 같은 하위 명령이 있고, allennlp --help로 전체 사용법을 볼 수 있어요.