Skip to content

3rd Iteration (Hailo-8)

시도한 이유

기존 t5 모델의 경우, 사욯해야 하는 VRAM의 크기가 10Gi를 살짝 넘습니다. iteration 2에서 설명하였 듯 한 인스턴스가 하나의 요청만 순차적으로 처리해야 하는 상황에서 라이브 서비스를 위해서는 너무 비용이 커질 수 있습니다.

이에 어떻게 더 경량화 할 수 있을까, 도입비용/유지비용을 더 저렴하게 만들 수 없을까 고민하였습니다.

양자화

가장 간단하게 수행할 수 있는 작업으로 시도하였으며, 32비트와 비교시 16비트와 8비트에서 벤치마크로 사용하기로 한 점역사 기출 문제에서 동일한 정확도를 보였고 4bit에서는 성능 손실을 보였습니다.

Hailo 8

이 기기는 엣지 디바이스에서 추론을 가속하는 기기로, 8비트 연산을 가속하는데 특화되어 있습니다. 양자화 단계에서 8비트 수준에서 성능의 손실이 없었기에 충분히 시도할 만 하다고 보고 onnx로 변환 후 sdk를 사용해 추론을 진행하려 하였습니다.

그러나 onnx의 encoder/decoder를 파이프라인화 하는 과정에서 문제가 있었는지, 양자화 과정에서 문제가 있었는지 성능 손실이 매우 커 벤치마크에 무리가 있었습니다. driver/firmware 설정은 이미 끝내두었으니 좀 더 손실을 줄일 수 있는 방법이 있는지, 잘못된 것은 없었는지 확인해 진핼할 예정입니다.

ToDo

  • PDF 변환 부를 교체할 수 있도록 구조를 개선
  • ToS를 추가 - 파일 관리 책임에 대한 명시
  • Convert와 Merge 서비스를 분리
  • 조금 더 낮은 유지 비용의 inference 방법을 강구
  • benchmark 가능한 정도로 Hailo-8을 사용할 수 있도록 개선