Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scale-Up을 위한 Model URI와 코드가 분산된 문제되어 혼선이 발생하는 해결 방안 필요 #20

Open
hyeokjunejeon opened this issue Aug 11, 2022 · 1 comment

Comments

@hyeokjunejeon
Copy link
Contributor

hyeokjunejeon commented Aug 11, 2022

소개

모델 읽는 파트와 코드가 연결 고리를 짓기가 어려운 개선이 필요해 보입니다. 예를들면 model 경로는 어디에서 갱신해야지? 이 모델의 관련 코드는 어디에 있지? 혼선이 계속 발생합니다.
이 혼선을 막기위해서 추가 적인 별도 wiki 관리 문서를 유지해야 되는 유지보수 어려움이 발생합니다. 이 방식은 scale-up을 할 수 없을 듯 합니다.

예상되는 수정 스텝을 보면 다음과 같습니다:

  • resnet50.py 수정
  • init.py 수정
  • wiki 테이블 수정
    • md5 해시
    • 모델 위치 테이블 작성

내용

ResNet50 작동 코드

# f.m.v.resnet50.py
class MLCommonsResNet50Model(Model):
    """MLCommons ResNet50 model"""
    pass

ResNet50 모델 읽는 파트

# f.m.v.nonblocking.__init__.py
async def ResNet50(*args: Any, **kwargs: Any) -> resnet50.MLCommonsResNet50Model:
    return resnet50.MLCommonsResNet50Model(
        name="ResNet50",
        model=await load_dvc("models/mlcommons_resnet50_v1.5_int8.onnx"),
        format=Format.ONNX,
        family="ResNet",
        version="v1.5",
        metadata=Metadata(
            description="ResNet50 v1.5 int8 ImageNet-1K Accuracy 75.982% @ Top1",
            publication=Publication(url="https://arxiv.org/abs/1512.03385.pdf"),
        ),
        *args,
        **kwargs,
    )
@hyeokjunejeon hyeokjunejeon changed the title Model URI와 코드가 분산된 문제 해결 방안 필요 Scale-Up을 위한 Model URI와 코드가 분산된 문제되어 혼선이 발생하는 해결 방안 필요 Aug 11, 2022
@hyunsik
Copy link
Member

hyunsik commented Aug 12, 2022

말씀 주신 문제에 저도 동의합니다. 사실 저번 layout 변경 PR에서 해당 부분까지 수정하려다가 말았는데요. 현재 async def 로 모델을 생성하는 부분을 모델의 class 메소드 등으로 변경하면 좋을 것 같습니다. 다만 blocking, non-blocking 까지 같이 제공하려면 고민할 부분이 몇 가지 더 있을 것 같습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants