fairseq에서 제공해주는 기존 태스크들로 MTL을 해볼 수 있을까 싶어 fairseq 공식 깃헙 코드들을 열심히 뒤적이다 tasks 폴더 speech_to_text 파일에서 비슷한 도구를 찾아냈다. 무려 multitask-config-yaml을 받는 인자가 존재! 바로 사용 가능할 것 같아 훈련시킬 config 파일의 task._name을 'speech_to_text'로 지정해줬는데 계속 아래의 오류가 나왔다.
동일한 'speech_to_text' 스트링이 Available argparse tasks dict keys에 있는 게 버젓이 보이는데 왜 있는 걸 없다고 하는지 이해가 되지 않았다. 설마 문자가 다른 건가 싶어 그대로 복붙했는데도 계속 같은 오류 발생... 알고 보니 fairseq의 tasks는 2가지가 존재했다.
fairseq-train은 2020년 11월에 0.10.0ver.가 공개되고 hydra-train으로 넘어가면서 업데이트가 중단된 명렁어다. 따라서 speech_to_text 역시 더 이상 지원되지 않는 기능이었던 것. 자세히 보면 맨 위 사진의 SpeechToTextTask가 LegacyFairseqTask를 상속받는 것을 확인할 수 있다. 즉, Legacy 기능. 모든 (지원되는) 태스크는 FairseqTask를 상속받으니 주의해야 되는 부분이겠다.
fairseq를 마스터하는 그날까지...