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로 전체 사용법을 볼 수 있어요.

더 알아보기