[LLM] Fixing AutoTrain’s use_flash_attention_2 TypeError

LLM 학습 중 아래처럼 TypeError가 터지면서 학습이 바로 종료되는 경우가 있다.

ERROR | 2025-08-27 13:47:10 | autotrain.trainers.common:wrapper:215 - train has failed due to an exception:
Traceback (most recent call last):
  ...
  File "/usr/local/lib/python3.12/dist-packages/transformers/modeling_utils.py", line 4999, in from_pretrained
    model = cls(config, *model_args, **model_kwargs)
TypeError: Exaone4ForCausalLM.__init__() got an unexpected keyword argument 'use_flash_attention_2'

오류가 발생하는 원인은 autotrain이 동작할때 내부적으로 AutoModelForCausalLM.from_pretrained() 호출 시 항상 use_flash_attention_2=config.use_flash_attention_2를 전달하는데 실제 원본 모델 클래스는 이 인자를 받지 않아 TypeError 발생하는 현상이다.

이 문제를 간단히 해결하는 방법은 autotrain 패키지의 실제 파일 위치(utils.py)에서 해당 인자 전달 한 줄을 주석 처리(또는 삭제)하는 것이다.

사용자의 환경에 따라 위치가 조금 다를 수 있지만 대략 적으로 autotrain utils.py 위치는 다음과 같다.

/usr/local/lib/python3.12/dist-packages/autotrain/trainers/clm/utils.py

위치를 확인했으면 다음과 같이 먼저 백업을 해두고 해당라인을 주석 처리 한다.

cp /usr/local/lib/python3.12/dist-packages/autotrain/trainers/clm/utils.py \
   /usr/local/lib/python3.12/dist-packages/autotrain/trainers/clm/utils.py.bak

sed -i 's/use_flash_attention_2=config.use_flash_attention_2/# use_flash_attention_2=config.use_flash_attention_2/' \
/usr/local/lib/python3.12/dist-packages/autotrain/trainers/clm/utils.py

grep -n "use_flash_attention_2" /usr/local/lib/python3.12/dist-packages/autotrain/trainers/clm/utils.py

# 848:            - use_flash_attention_2 (bool): Flag to use flash attention 2.
# 949:            # use_flash_attention_2=config.use_flash_attention_2,
# 957:            # use_flash_attention_2=config.use_flash_attention_2,

변경 사항이 제대로 반영되었는지 확인한 뒤 다시 실행하면, 오류가 해결된 것을 확인할 수 있다.

Published by

알 수 없음의 아바타

thenewth

AI Research Engineer & Cloud Platform Developer

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.