*.pt 파일 안드로이드에서 사용하는 방법을 알수 있을까요?

KoBert 모델을 학습해서 생성한 *.pt 파일을 .tflite로 변환하는 방법을 알 수 있을까요?
학습한 모델을 안드로이드 환경에서 실행시키고자 합니다.
구글링을 통해 방법을 찾지 못한 상태라 도움을 구합니다.
참고로 모델(
.pt) 크기는 400MB정도로 큰 사이즈의 모델입니다.

1개의 좋아요

저도 자세히는 모르지만 BERT 모델을 양자화해서 용량을 줄이는 방법은 있습니다.

https://tutorials.pytorch.kr/intermediate/dynamic_quantization_bert_tutorial.html?highlight=양자화

이걸 응용하면 용량을 줄여서 안드로이드에도 탑재할 수 있지 않을까요?

답변이 파이토치 사용법이 아니라서 좀 그렇기는 합니다만…
안드로이드에서 파이토치 모델을 사용하는 방법을 알려드리면

  1. 파이토치 모델을 jit로 변환해서 libtorch로 실행
  2. 파이토치에서 학습한 모델 변수를 TFlite로 넘겨서 실행
    질문하신 내용을 보면 두번째 방법을 생각하시는 것 같고 저도 2번으로 하고 있습니다.

파이토치에서 학습한 변수를 TFlite로 넘기는 방법은

  1. 파이토치 모델 → ONNX → TF, TFlite
  2. TF 에서 동일한 모델 정의 ->파이토치 모델 변수 로딩 → TFlite 변환
    1)번은 편한것 같지만 중간에 문제가 생기면 디버깅이 어렵기 때문에
    저는 2번을 선호하고, 가장 깔끔한 방법이라고 생각합니다.

모델 압축과 관련된 것들은 TFlite에서 여러가지를 지원하니까 사용하면 좋을 것 같습니다.

1개의 좋아요