기계 학습 컨테이너 환경은 쉬워야 합니다.

다양한 딥 러닝 모델을 연구하는 기계 학습 엔지니어로서 예상치 못한 환경 문제는 항상 저를 괴롭힙니다.



이러한 시나리오가 익숙하게 보입니까? 기계 학습 개발 환경은 어떻게 되나요?
  • 가능하더라도pip install torch 낮은 수준의 코드 종속성을 처리할 필요가 없다는 의미는 아닙니다.
  • 일관된 환경을 위해서는 컨테이너가 필요합니다. 특히 GPU 부분의 경우.
  • Dockerfile은 편리하게 재사용하기 어렵습니다.

  • 환경을 다루는 것은 작업의 첫 번째 단계에 불과합니다. 쉬워야 하지만 결코 쉽지 않습니다. NumPy 설치 방법을 검색해야 했던 날보다 훨씬 쉽다는 것을 인정해야 하지만.

    한편, 기계 학습 인프라 엔지니어의 관점에서:



    인프라 엔지니어는 머신러닝 엔지니어의 적이 절대 아닙니다. 더 나은 도구는 모두를 행복하게 만들 수 있습니다.

    요구 사항을 요약해 보겠습니다.
    기계 학습 엔지니어는 원시 코드 대신 컨테이너 이미지를 제출해야 합니다. 모델 종속성에 대해 더 잘 알고 있기 때문입니다.
    인프라 엔지니어는 기계 학습 엔지니어가 모범 사례에 따라 컨테이너 이미지를 구축할 수 있도록 더 나은 유틸리티를 유지 관리해야 합니다.
    한편 기계 학습 엔지니어는 개발 경험을 희생하고 싶지 않습니다. 평소와 같이 Jupyter Notebook 및 VSCode를 사용할 수 있어야 합니다.

    지금까지는 모든 것이 좋아 보입니다. 분명히 불가능한 일은 아닙니다.

    새 도구를 소개하겠습니다: envd .

    다음과 같은 기능을 제공합니다.

    Dockerfile 대신 Python과 유사한 함수를 작성하고 팀 전체에서 공유
    더 나은 캐시와 병렬 구축을 갖춘 bulidkit 기반
    Jupyter Notebook 및 VSCode와 통합

    구문은 다음과 같습니다.

    def build():
        base(os="ubuntu20.04", language="python")
        install.cuda(version="11.6", cudnn="8")
        install.python_packages(name=[
            "torch"
        ])
    


    명령envd up을 실행하면 격리된 컨테이너 환경에 있게 됩니다.

    팀원이 작성한 기능을 재사용하려면 다음과 같이 가져올 수 있습니다.

    lib = include("https://github.com/tensorchord/envdlib")
    lib.jupyter_lab(host_port=8888)
    


    또한 훨씬 빠릅니다. 아래 벤치마크를 참조하십시오.



    더 많은 기능이 제공됩니다! 언제든지 문제를 열거나 discord 커뮤니티에 가입하여 우리와 토론하십시오.

    좋은 웹페이지 즐겨찾기