Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

모델 어댑터를 작성할 위치 선택

독립 Model Adapter Library는 어댑터를 Python 라이브러리로 게시하여 여러 저장소에서 가져오는 방식입니다. 모델 학습 저장소 또는 Jupyter 안에서 어댑터를 정의하면 학습 코드와 함께 수정할 수 있습니다.

방식작성 환경과 모델 종류패키지선택 조건과 제약
Model TrainingCode Repositories에서 학습한 모델저장소에서 자동 생성한 이름학습과 어댑터를 함께 반복 수정하기 좋습니다. 다른 저장소에서 재사용하기는 어렵습니다.
Jupyter WorkspaceJupyter에서 학습한 모델cws_adapter대화형 학습에 사용하며 어댑터를 별도 Python 파일에 둡니다. 여러 저장소에서 공유하는 용도로는 불편합니다.
Model Adapter LibraryPython 변환, 컨테이너와 외부 모델직접 설정한 이름컨테이너 모델, 외부 모델 또는 여러 저장소에서 공유할 어댑터에 사용합니다. 별도 라이브러리 게시 과정 때문에 반복 수정 주기는 길어집니다.

Model Adapter Library

Code Repositories에서 Model Adapter Library 템플릿을 선택합니다.

초기 구현은 src/model_adapter/에 있습니다. 숨김 파일 gradle.properties의 condaPackageName을 확인하거나 수정합니다. 초기 값은 저장소 이름에서 정하며 게시할 때 공백과 특수문자는 하이픈으로 바꿉니다.

커밋에 태그를 만들면 새 라이브러리 버전을 게시합니다. 다른 Python 변환 저장소는 해당 버전을 의존성에 추가하여 학습과 추론에 사용할 수 있습니다.

한 저장소에서 여러 어댑터를 게시할 수 있습니다. 어댑터 구현 파일을 추가하면 숨김 build.gradle의 모델 어댑터 모듈 목록에도 등록해야 합니다. 기본 설정은 model_adapter.example_adapter만 게시합니다.

Model Training

Foundry에서 모델을 학습하는 일반적인 Python 변환에는 Model Training 템플릿을 사용합니다. 같은 저장소에서 학습 로직과 어댑터를 함께 변경할 수 있습니다.

어댑터 패키지 이름은 transforms-model-training-<repository rid> 형태로 자동 정하며 버전은 Git 커밋에서 정합니다. 이 방식에서는 어댑터 패키지 이름과 버전을 별도 태그로 지정할 수 없습니다. 실제 이름과 버전은 모델 페이지에서 확인합니다.

다른 저장소에서 sidecar 없이 ModelInput으로 로드하려면 이 라이브러리를 해당 저장소에 추가합니다. 이름과 버전을 직접 관리해야 한다면 독립 Model Adapter Library를 사용합니다. 저장소 학습 실습에 학습과 배치 추론 절차가 있습니다.

Jupyter Code Workspace

Models 사이드바에서 Add model > Create new model을 선택하면 지정한 별칭 이름의 .py 파일에 어댑터 틀을 만듭니다. 어댑터 클래스는 별도 .py 파일에 정의하고 노트북에서 가져와야 합니다. 노트북 셀 안에 직접 정의하는 방식은 지원하지 않습니다.

모델을 게시하면 어댑터와 작업 디렉터리의 다른 Python 파일을 cws_adapter 라이브러리로 묶습니다. 버전은 최신 Git 태그에서 정합니다. Jupyter 학습 실습에서 모델 생성과 게시를 진행할 수 있습니다.