Vowpal Wabbit 버전 8 모델 학습
Vowpal Wabbit 기계 학습 시스템의 버전 8을 사용 하 여 모델 학습
범주: Text Analytics
참고
적용 대상: Machine Learning Studio (클래식)
이 콘텐츠는 Studio (클래식)에만 해당 됩니다. Azure Machine Learning 디자이너에는 비슷한 끌어서 놓기 모듈이 추가 되었습니다. 이 문서에서는 두 가지 버전을 비교 하는방법에 대해 자세히 알아보세요.
모듈 개요
이 문서에서는 Vowpal Wabbit (버전 8)를 사용 하 여 기계 학습 모델을 만들기 위해 Azure Machine Learning Studio (클래식)에서 학습 Vowpal Wabbit 버전 8 모듈을 사용 하는 방법을 설명 합니다.
기계 학습에 Vowpal Wabbit를 사용 하려면 Vowpal Wabbit 요구 사항에 따라 입력의 형식을 지정 하 고 Azure blob에 데이터를 저장 합니다. 이 모듈을 사용 하 여 Vowpal Wabbit 명령줄 인수를 지정 합니다.
실험을 실행 하면 Vowpal Wabbit의 인스턴스가 지정 된 데이터와 함께 실험 런타임에 로드 됩니다. 학습을 완료 하면 모델은 작업 영역으로 다시 serialize 됩니다. 모델을 즉시 사용 하 여 데이터의 점수를 매길 수 있습니다. 학습 된 모델은 Azure storage에도 유지 되므로 학습 데이터를 다시 처리 하지 않고도 나중에 사용할 수 있습니다.
새 데이터에 대 한 기존 모델을 점진적으로 학습 하려면 저장 된 모델을 미리 학습 된 모델 입력에 연결 하 고 새 데이터를 다른 입력에 추가 합니다.
참고
Azure Machine Learning Studio (클래식)은 여러 버전의 Vowpal Wabbit 프레임 워크를 호스팅합니다. 이 모듈에서는 버전 8 인 Vowpal Wabbit 프레임 워크의 최신 버전을 사용 합니다. 새 입력 데이터의 점수를 매기는 경우 Vowpal Wabbit 버전 8 모델 점수를 사용 해야 합니다.
Vowpal Wabbit 버전 7-4 또는 7-6: 학습 Vowpal wabbit 7-4 모델 및 점수 Vowpal wabbit 7-4 모델.
Vowpal Wabbit 버전 7-10: 학습 Vowpal wabbit 7-10 모델 및 점수 Vowpal wabbit 7-10 모델입니다.
Vowpal Wabbit 정의
VW (Vowpal Wabbit)는 Yahoo!에서 분산 컴퓨팅을 위해 개발 된 고속 병렬 기계 학습 프레임 워크입니다. John Langford(Microsoft Research)가 병렬 아키텍처의 과학적 계산을 위해 조정한 고속 병렬 기계 학습 프레임워크입니다.
기계 학습에 중요 한 Vowpal Wabbit의 기능에는 지속적인 학습 (온라인 학습), 차원 감소 및 대화형 학습이 포함 됩니다. 또한 모델 데이터를 메모리에 맞출 수 없는 문제에 대해서도 Vowpal Wabbit을 사용할 수 있습니다.
Vowpal Wabbit의 기본 사용자는 분류, 회귀, 토픽 모델링 또는 매트릭스 인수분해와 같은 기계 학습 작업에 대해 이전에 프레임 워크를 사용한 데이터 과학자입니다. Vowpal Wabbit 용 Azure 래퍼는 온-프레미스 버전과 매우 유사한 성능 특성을 제공 하므로 Vowpal Wabbit의 강력한 기능 및 기본 성능을 사용 하 고 학습 된 모델을 조작 가능한 서비스로 쉽게 게시할 수 있습니다.
기능 해싱 모듈에는 해싱 알고리즘을 사용 하 여 텍스트 데이터 집합을 이진 기능으로 변환할 수 있는 Vowpal Wabbit에서 제공 하는 기능도 포함 되어 있습니다.
Vowpal Wabbit 버전 8 모델을 구성 하는 방법
이 섹션에서는 새 모델을 학습 하는 방법 및 기존 모델에 새 데이터를 추가 하는 방법을 설명 합니다.
Studio (클래식)의 다른 모듈과 달리이 모듈은 모듈 매개 변수를 지정 하 고 모델을 학습 합니다. 기존 모델이 있는 경우 선택적 입력으로 추가 하 여 모델을 점진적으로 학습할 수 있습니다.
이 모듈을 사용 하려면 Azure storage 계정에 대 한 인증이 필요 합니다.
입력 데이터 준비
이 모듈을 사용 하 여 모델을 학습 하려면 입력 데이터 집합은 LibSVM 또는 VW 의 두 가지 지원 되는 형식 중 하나에서 단일 텍스트 열로 구성 되어야 합니다. 이는 Vowpal Wabbit가 텍스트 데이터만 분석 하 고 필요한 텍스트 파일 형식으로 기능 및 값을 준비 해야 한다는 의미는 아닙니다.
Azure storage에서 데이터를 읽어야 합니다. Vowpal Wabbit에서 사용 하기 위해 데이터 내보내기 를 사용 하 여 입력 파일을 Azure에 직접 저장 하는 것은 가능 하지 않습니다. 형식에 추가 수정이 필요 하기 때문입니다. 데이터가 올바른 형식 인지 확인 하 고 Azure blob storage에 데이터를 업로드 해야 합니다.
그러나 바로 가기로 SVMLight로 변환 모듈을 사용 하 여 SVMLight 서식 파일을 생성할 수 있습니다. 그런 다음 SVMLight format 파일을 Azure blob storage에 업로드 하 여 입력으로 사용 하거나, Vowpal Wabbit 입력 파일 요구 사항을 준수 하도록 파일을 약간 수정할 수 있습니다.
Vowpal Wabbit 데이터 형식을 사용하는 경우 열 형식이 필요하지 않아 스파스 데이터 사용 시 공간이 절약된다는 이점이 있습니다. 이 형식에 대 한 자세한 내용은 Vowpal Wabbit wiki 페이지를 참조 하세요.
Vowpal Wabbit 모델 만들기 및 학습
실험에 학습 Vowpal Wabbit 버전 8 모듈을 추가 합니다.
학습 데이터가 저장 되는 계정을 지정 합니다. 학습 된 모델 및 해싱 파일은 동일한 위치에 저장 됩니다.
Azure storage 계정 이름 에 azure storage 계정의 이름을 입력 합니다.
Azure storage 키 의 경우 저장소 계정에 액세스 하기 위해 제공 된 키를 복사 하 여 붙여넣습니다.
키가 없는 경우 저장소 액세스 키를 다시 생성 하는 방법 을 참조 하세요.
Azure 컨테이너 이름 에 모델 학습 데이터가 저장 되는 지정 된 azure storage 계정에 단일 컨테이너의 이름을 입력 합니다. 계정 이름 또는 프로토콜 접두사를 입력 하지 마세요.
예를 들어 전체 컨테이너 경로 및 이름이 이면
https://myaccount.blob.core.windows.net/vwmodels
를 입력 해야vwmodels
합니다. 컨테이너 이름에 대 한 자세한 내용은 컨테이너, blob 및 메타 데이터 이름 지정 및 참조를 참조 하세요.VW 인수 텍스트 상자에 Vowpal Wabbit 실행 파일에 대 한 명령줄 인수를 입력 합니다.
예를 들어를 추가
–l
하 여 학습 률을 지정 하거나-b
해시 비트 수를 나타낼 수 있습니다.자세한 내용은 Vowpal Wabbit 매개 변수 섹션을 참조 하세요.
입력 VW 파일의 이름: 입력 데이터를 포함 하는 파일의 이름을 입력 합니다. 이 파일은 이전에 지정 된 저장소 계정 및 컨테이너에 있는 Azure blob storage의 기존 파일 이어야 합니다. 지원 되는 형식 중 하나를 사용 하 여 파일을 준비 해야 합니다.
읽을 수 있는 출력 모델의 이름 (--readable_model): 학습 된 모델을 저장할 파일의 이름을 입력 합니다. 파일은 입력 파일과 동일한 저장소 계정 및 컨테이너 내에 저장 되어야 합니다.
이 인수는
--readable_model
VW 명령줄의 매개 변수에 해당 합니다.출력 반전 해시 (--invert_hash) 파일의 이름: 반전 된 해시 함수를 저장 해야 하는 파일의 이름을 입력 합니다. 파일은 입력 파일과 동일한 저장소 계정 및 컨테이너 내에 저장 되어야 합니다.
이 인수는
--invert_hash
VW 명령줄의 매개 변수에 해당 합니다.파일 형식: 학습 데이터에 사용 되는 형식을 지정 하십시오. Vowpal Wabbit는 다음과 같은 두 입력 파일 형식을 지원 합니다.
VW 는 Vowpal Wabbit에서 사용 하는 내부 형식을 나타냅니다. 자세한 내용은 Vowpal Wabbit wiki 페이지 를 참조 하세요.
SVMLight 는 다른 기계 학습 도구에서 사용 하는 형식입니다.
실험을 다시 시작할 때마다 저장소에서 데이터를 로드 하지 않으려는 경우 캐시 된 결과 사용 옵션을 선택 합니다. 다른 매개 변수가 변경 되지 않은 것으로 가정 하 고 유효한 캐시를 찾을 수 있는 경우 Studio (클래식)는 캐시 된 버전의 데이터를 사용 합니다.
이 옵션의 선택을 취소 하면 모듈은 항상 저장소에서 데이터를 읽습니다.
실험을 실행합니다.
교육이 완료 되 면 출력을 마우스 오른쪽 단추로 클릭 하 고 학습 된 모델로 저장 을 선택 하 여 모델을 Studio (클래식) 작업 영역에 저장 합니다.
기존 Vowpal Wabbit 모델 다시 학습
Vowpal Wabbit는 기존 모델에 새 데이터를 추가 하 여 증분 학습을 지원 합니다. 다음 두 가지 방법으로 다시 학습을 위해 기존 모델을 가져올 수 있습니다.
동일한 실험에서 다른 학습 Vowpal Wabbit 버전 8 모듈의 출력을 사용 합니다.
Studio (클래식)의 왼쪽 탐색 창에 있는 학습 된 모델 그룹에서 저장 된 모델을 찾아 실험으로 끌어 놓습니다.
실험에 학습 Vowpal Wabbit 버전 8 모듈을 추가 합니다.
이전에 학습 된 모델을 학습 Vowpal Wabbit 버전 8 의 입력 포트에 연결 합니다.
학습 Vowpal Wabbit 버전 8 의 속성 창에서 새 학습 데이터의 위치 및 형식을 지정 합니다.
사람이 읽을 수 있는 모델 출력 파일의 이름과 업데이트 된 모델과 연결 된 해시 파일의 다른 이름을 지정 합니다.
참고
지정 된 위치에 기존 Vowpal Wabbit 모델 또는 해시 파일이 있는 경우 새 학습 된 모델에서 자동으로 파일을 덮어씁니다. 재 학습 시 중간 모델을 유지 하려면 저장소 위치를 변경 하거나 모델 파일의 로컬 복사본을 만들어야 합니다.
실험을 실행합니다.
모듈을 마우스 오른쪽 단추로 클릭 하 고 학습 된 모델로 저장 을 선택 하 여 Azure Machine Learning 작업 영역에서 업데이트 된 모델을 유지 합니다. 새 이름을 지정 하지 않은 경우 업데이트 된 모델은 기존에 저장 된 모델을 덮어씁니다.
예제
기계 학습에서 Vowpal Wabbit를 사용 하는 방법에 대 한 예는 Azure AI Gallery를 참조 하세요.
-
이 실험에서는 VW 모델의 데이터를 미리 설명 하 고 교육 및 운영 화 합니다.
또한 다음 리소스를 참조 하세요.
Vowpal Wabbit 구현 및 로드맵을 설명 하는 블로그
https://blogs.technet.com/b/machinelearning/archive/2014/10/02/vowpal-wabbit-modules-in-azureml.aspx
Azure Machine Learning Wabbit를 사용 하 여 모델을 작성 하 고 점수를 매기는 비디오 Vowpal
https://channel9.msdn.com/Blogs/Windows-Azure/Text-Analytics-and-Vowpal-Wabbit-in-Azure-ML-Studio
기술 정보
이 섹션에는 구현 세부 정보, 팁 및 질문과 대답 (faq)이 포함 되어 있습니다.
Vowpal Wabbit의 장점
Vowpal Wabbit은 n그램 등의 비선형 기능에 비해 학습 속도가 매우 빠릅니다.
Vowpal Wabbit은 SGD(추측 기울기 하강) 등의 온라인 학습 기술을 사용하여 한 번에 레코드 하나씩 모델을 맞춥니다. 따라서 원시 데이터에 대해 매우 빠르게 반복되며, 대부분의 다른 모델에 비해 적절한 예측자를 더 빠르게 개발할 수 있습니다. 또한 이 방식에서는 모든 학습 데이터를 메모리로 읽어 들이지 않아도 됩니다.
Vowpal Wabbit은 모든 데이터, 즉 텍스트 데이터뿐 아니라 다른 범주 변수도 해시로 변환합니다. 해시를 사용 하면 회귀 가중치를 보다 효율적으로 조회할 수 있습니다 .이는 효과적인 추계 그라데이션 디센더에 매우 중요 합니다.
학습 중에 모듈은 Azure 용으로 개발 된 Vowpal Wabbit 래퍼를 호출 합니다. 학습 데이터는 Azure에서 블록으로 다운로드 되며, 계산 및 저장소를 실행 하는 작업자 역할 간의 높은 대역폭을 활용 하 여 VW 학습자로 스트리밍됩니다. 일반적으로 결과 모델은 VW에서 수행 하는 내부 압축으로 인해 매우 압축 됩니다. 모델은 Azure Machine Learning의 다른 모델과 같이 사용할 수 있는 실험 작업 영역으로 다시 복사 됩니다.
지원 되거나 지원 되지 않는 매개 변수
이 섹션에서는 Azure Machine Learning Studio (클래식)의 Vowpal Wabbit 명령줄 매개 변수에 대 한 지원에 대해 설명 합니다.
일반적으로 제한 된 인수 집합만 지원 합니다. 인수의 전체 목록을 보려면 Vowpal Wabbit wiki 페이지를 사용 합니다.
다음 매개 변수는 지원이 아닙니다.
에 지정 된 입력/출력 옵션 https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments
이러한 속성은 이미 모듈에 의해 자동으로 구성 됩니다.
또한 여러 출력을 생성 하거나 여러 입력을 사용 하는 옵션은 허용 되지 않습니다. 여기에는, 및가 포함 됩니다
--cbt
--lda
--wap
.감독 된 학습 알고리즘만 지원 됩니다. 따라서, 등의 옵션은 지원 되지
–active
않습니다--rank
.--search
# # # 제한 사항
제한
서비스의 목표가 숙련 된 Vowpal Wabbit 사용자를 지원 하기 때문에 입력 데이터는 다른 모듈에서 사용 하는 데이터 집합 형식이 아니라 Vowpal Wabbit 네이티브 텍스트 형식을 사용 하 여 미리 준비 해야 합니다.
Azure ML 작업 영역에서 데이터를 사용 하는 대신, 최대 성능 및 최소 구문 분석 오버 헤드를 위해 교육 데이터가 Azure에서 직접 스트리밍됩니다. 이러한 이유로 Azure ML의 VW 모듈과 기타 모듈 간에는 상호 운용성이 제한 됩니다.
모듈 매개 변수
Name | 범위 | Type | 선택 사항 | 기본값 | 설명 |
---|---|---|---|---|---|
파일 형식 지정 | VW SVMLight |
DataType | 필수 | VW | SVMLight 또는 Vowpal Wabbit 파일 형식 인지 여부를 나타냅니다. |
Azure Storage 계정 이름 | any | String | 필수 | Azure 저장소 계정 이름을 입력합니다. | |
Azure Storage 키 | any | SecureString | 필수 | Azure 저장소 키를 입력합니다. | |
Azure 컨테이너 이름 | any | String | 필수 | Azure 컨테이너 이름을 입력합니다. | |
VW 인수 | any | String | 선택 사항 | Vowpal Wabbit 인수를 지정합니다. -F를 포함 하지 마십시오. | |
입력 VW 파일의 이름 | any | String | 필수 | Vowpal Wabbit 형식으로 입력 파일의 이름을 지정합니다. | |
읽기 가능 출력 모델(--readable_model) 파일의 이름 | any | String | 선택 사항 | 지정하는 경우 읽기 가능 모델을 Azure 컨테이너로 다시 출력합니다. | |
반전된 출력 해시(--invert_hash) 파일의 이름 | String | String | 선택 사항 | 지정하는 경우 반전된 해시 함수를 포함하는 파일을 Azure 컨테이너로 다시 출력합니다. |
출력
Name | Type | 설명 |
---|---|---|
학습된 모델 | ILearner 인터페이스 | 학습된 학습자입니다. |
예외
예외 | 설명 |
---|---|
오류 0001 | 데이터 세트의 지정된 열 중 하나 이상을 찾을 수 없으면 예외가 발생합니다. |
오류 0003 | 하나 이상의 입력이 null이거나 비어 있으면 예외가 발생합니다. |
오류 0004 | 매개 변수가 특정 값 이하이면 예외가 발생합니다. |
오류 0017 | 지정한 열 중 하나 이상의 형식이 현재 모듈에서 지원되지 않으면 예외가 발생합니다. |
스튜디오 (클래식) 모듈과 관련 된 오류 목록은 Machine Learning 오류 코드를 참조 하세요.
API 예외 목록은 Machine Learning REST API 오류 코드를 참조 하세요.
참고 항목
Text Analytics
기능 해시
명명 된 엔터티 인식
Vowpal Wabbit 7-4 모델 점수 매기기
Vowpal Wabbit 버전 8 모델 점수를 계산 합니다.
Vowpal Wabbit 7-4 모델 학습
전체 모듈 목록