트레이딩을 위한 ONNX 학습 - 페이지 11

 

ONNX로 기계 학습의 힘 활용 | 론 라일 다그다그 | Conf42 기계 학습 2021


ONNX로 기계 학습의 힘 활용 | 론 라일 다그다그 | Conf42 기계 학습 2021

이 비디오에서 Ron Dagdag는 특히 전화기나 클라우드 인프라와 같은 다양한 엔드포인트에 모델을 배포할 때 기계 학습 모델을 위한 개방형 형식으로 ONNX(개방형 신경망 교환)를 사용할 때의 이점에 대해 설명합니다. 낮은 성능 또는 다른 프레임워크에서 학습된 모델 결합과 같이 모델을 ONNX로 변환하는 것이 유용할 수 있는 시나리오를 다루고 RestNet과 같은 인기 있는 모델을 ONNX 형식으로 다운로드할 수 있는 방법을 설명합니다. 또한 에지에서 기계 학습 모델을 실행하는 이점과 모델을 클라우드에 등록하고 버전을 지정하여 모델을 관리하는 것의 중요성에 대해 설명합니다. 그는 모델을 ONNX로 변환하는 방법과 추론을 위해 Python에서 ONNX 런타임을 사용하는 방법을 시연하고 데이터 과학자와 소프트웨어 엔지니어가 효과적으로 협력할 수 있도록 하는 ONNX의 역할을 강조하며 결론을 내립니다.

  • 00:00:00 이 섹션에서는 Spacy의 Ron Dagdag가 신경망 외에도 기존 기계 학습 모델을 처리할 수 있는 기계 학습 모델을 위한 개방형 형식으로 ONNX(Open Neural Network Exchange)를 소개합니다. 그는 이 형식이 기계 학습의 훈련 단계와 학습된 모델을 배포할 위치 사이의 격차를 메워준다고 강조합니다. 이는 전화에서 클라우드 인프라에 이르기까지 다양한 엔드포인트가 될 수 있습니다. ONNX는 점점 더 많은 조직, 특히 Microsoft 및 Facebook과 파트너십을 맺었습니다.

  • 00:05:00 이 섹션에서 연사는 하나의 프로그래밍 언어로 훈련된 머신 러닝 모델을 다른 언어나 다른 하드웨어에 배포할 수 있는 프레임워크인 ONNX의 인기가 높아지고 있는 점과 그것이 발생하는 상황에 대해 설명합니다. 모델을 ONNX로 변환하는 데 유용할 수 있습니다. 여기에는 대기 시간이 길거나 성능이 낮은 시나리오, IoT 또는 에지 장치에 배포할 때 또는 서로 다른 프레임워크에서 훈련된 모델을 결합할 때의 시나리오가 포함됩니다. 연사는 다양한 유형의 장치에 모델을 표시할 수 있다는 점에서 ONNX를 PDF에 비유하고 계속해서 ONNX 모델 동물원에서 내보내기 또는 Azure Custom Vision 사용을 포함하여 ONNX 모델을 만드는 방법에 대해 논의합니다.

  • 00:10:00 이 섹션에서 발표자는 RestNet과 같은 인기 있는 기계 학습 모델이 쉽게 다운로드하여 사용할 수 있는 ONNX 형식으로 이미 변환된 방법에 대해 설명합니다. 또한 그는 Torch 및 SKL과 같은 도구를 사용하거나 명령줄을 통해 신경망 모델을 ONNX로 변환하는 방법에 대해서도 언급합니다. 또한 그는 데이터 과학자의 원본 코드 없이도 작업 그래프의 입력 및 출력을 표시하여 ONNX 모델을 시각화하는 도구인 Netron에 대해 이야기합니다. 마지막으로 연사는 기계 학습 모델을 클라우드에 등록하고 버전을 지정하여 관리하는 것의 중요성을 강조합니다.

  • 00:15:00 이 섹션에서 Ron Lyle Dagdag는 기계 학습 모델을 배포할 위치의 중요성과 배포를 위해 고려해야 할 다양한 요소에 대해 설명합니다. 그는 클라우드에 배포하거나 사용자에게 더 가까운 엣지에서 추론을 실행하는 등 다양한 방식으로 배포가 가능하다고 설명합니다. 또한 그는 서비스 또는 Docker 컨테이너를 통해 수행할 수 있는 배포를 위한 이미지 구축 및 파이프라인 생성의 중요성을 언급하고 ONNX를 애플리케이션에 통합하는 데 사용할 수 있는 ONNX Docker 이미지의 가용성에 대해 이야기합니다.

  • 00:20:00 이 섹션에서 발표자는 클라우드가 아닌 에지에서 기계 학습 모델을 실행하는 이점에 대해 설명합니다. 장치에서 로컬로 모델을 실행하면 더 빠른 추론 시간을 제공할 수 있으므로 한 가지 주요 이점은 짧은 대기 시간입니다. 또 다른 장점은 확장성입니다. 데이터를 클라우드로 보내는 것보다 수백만 또는 수십억 대의 장치에 모델을 배포하는 것이 더 효율적일 수 있기 때문입니다. ONNX 에코시스템은 기존 모델을 다양한 하드웨어 가속기를 사용하여 에지에서 실행할 수 있는 형식으로 변환하기 위한 솔루션으로 도입되었습니다. ONNX 모델용 고성능 추론 엔진인 ONNX 런타임도 에지에서 모델을 실행하기 위한 오픈 소스 솔루션으로 논의됩니다.

  • 00:25:00 이 섹션에서 발표자는 ONNX 런타임에 대해 설명하고 실용적이고 단순한 모델 기반 API 추론을 위해 WinML API와 같은 Windows AI 플랫폼과 함께 사용할 수 있는 방법에 대해 설명합니다. 또한 게임을 만들기 위한 DirectML API, 브라우저에서 모델을 실행하기 위한 ONNX.js라는 JavaScript 라이브러리 및 시스템 기능에 따라 몇 가지 강력한 드라이버 모델이 있습니다. 그런 다음 발표자는 nuget 패키지와 C# 애플리케이션을 사용하여 ml.net의 훈련된 모델을 ONNX로 변환하는 방법을 시연합니다.

  • 00:30:00 이 섹션에서 Ron Lyle Dagdag는 ml.net을 사용한 검토자의 수년간의 경험 입력을 기반으로 급여를 예측하는 기계 학습 모델을 만드는 방법에 대한 간단한 예를 보여줍니다. 모델이 훈련되면 `context.model.convert_to_onnx` 함수를 사용하여 ONNX 모델로 변환할 수 있습니다. 그런 다음 ONNX 모델을 확인하고 ONNX 런타임 라이브러리를 사용하여 Python 노트북에서 추론하는 데 사용할 수 있습니다. 모델의 입력과 출력은 `netron.app`을 사용하여 표시됩니다.

  • 00:35:00 이 섹션에서 발표자는 Python에서 ONNX 런타임을 사용하여 ML.NET에서 생성되고 ONNX 파일로 내보낸 모델을 추론하는 방법을 보여줍니다. 발표자는 ONNX 모델의 입력 및 출력의 이름, 모양 및 유형을 가져오고 입력 값을 추론을 위해 모델에 전달하는 방법을 보여줍니다. 발표자는 또한 기계 학습 모델을 애플리케이션에 통합하기 위한 개방형 표준으로 ONNX를 사용하는 것의 중요성과 ONNX를 통해 데이터 과학자와 소프트웨어 엔지니어가 효과적으로 협력할 수 있는 방법을 강조합니다. 마지막으로 연사는 ONNX 모델을 만들고 배포하는 방법과 ONNX 배포를 지원하는 다양한 플랫폼을 포함하여 토론에서 얻은 주요 내용을 요약하여 제공합니다.

  • 00:40:00 이 섹션에서는 Spacy의 수석 소프트웨어 엔지니어이자 Microsoft MVP인 Ron Dagdag가 청중에게 감사를 표하고 ONNX 런타임, Jupyter 노트북, 빵집에 대해 알아보고 싶은 경우 그에게 연락할 수 있는 방법을 공유하며 비디오를 마무리합니다. , 베이커, 빵.
Leverage Power of Machine Learning with ONNX | Ron Lyle Dagdag | Conf42 Machine Learning 2021
Leverage Power of Machine Learning with ONNX | Ron Lyle Dagdag | Conf42 Machine Learning 2021
  • 2021.08.31
  • www.youtube.com
Ron Lyle DagdagLead Software Engineer @ SpaceeHave you ever wanted to make your apps “smarter”? This session will cover what every ML/AI developer should kno...
 

ONNX Runtime Web을 통한 JavaScript 추론!



ONNX Runtime Web을 통한 JavaScript 추론!

비디오는 사전 선택된 이미지에서 추론을 실행하기 위한 UI를 제공하는 Next.js 템플릿을 통해 브라우저에서 ONNX Runtime Web을 사용하는 방법을 다룹니다. RGB 값과 차원 생성을 사용하여 이미지 데이터를 텐서로 변환하는 과정을 보여줍니다. 모델, 실행 공급자 및 세션 옵션에 대한 경로를 사용하여 사전 처리된 데이터를 ONNX 추론 세션에 전달하는 모델 도우미 함수를 살펴봅니다. 모델에 대한 피드는 입력 이름과 텐서 객체를 사용하여 생성되고 session.run 함수에 전달되어 상위 5개의 결과를 얻습니다. 첫 번째 결과는 이미지 디스플레이를 채우고 웹팩 구성 및 ONNX 런타임 노드를 사용하는 서버 측 추론에 대한 지침이 제공됩니다.

  • 00:00:00 이 섹션에서는 추론을 수행하는 데 필요한 모든 사전 처리를 제공하는 템플릿을 사용하여 브라우저에서 JavaScript와 함께 ONNX 런타임 웹을 사용하는 방법에 대해 알아봅니다. 이 템플릿은 프로덕션 준비가 된 앱을 빌드하기 위한 React 프레임워크인 Next.js를 기반으로 하며 미리 선택된 샘플 이미지에서 추론을 실행하기 위한 간단한 UI를 제공합니다. 작성자는 이미지를 표시하고 추론에 대한 다양한 통계를 보고하기 위해 HTML 캔버스 요소를 설정하는 코드를 안내합니다. 그런 다음 이미지 도우미 유틸리티를 사용하여 이미지를 텐서로 변환한 다음 추론을 수행하기 위해 ONNX Runtime Web API를 호출하는 모델 도우미의 예측 함수를 통해 전달됩니다.

  • 00:05:00 이 섹션에서는 이미지 데이터를 RGB 값을 사용하여 추론하기 위해 이미지 데이터를 텐서로 변환하고 재구성하고 ONNX 런타임 웹에서 텐서 개체를 사용하여 데이터 및 차원으로 텐서를 만드는 과정을 설명합니다. 이 비디오는 모델, 실행 공급자(WebGL 또는 WebAssembly) 및 세션 옵션에 대한 경로를 제공하여 사전 처리된 데이터를 ONNX 추론 세션에 전달하는 모델 도우미 기능도 살펴봅니다. 결과를 얻기 위해 session.run 함수에 전달되는 모델에 대한 피드를 생성하려면 입력 이름과 ORT 텐서 객체가 필요합니다. 상위 5개의 결과가 반환되고 첫 번째 결과가 이미지 디스플레이를 채우는 데 사용됩니다. 또한 ONNX 런타임 노드를 사용하여 API 프레임워크로 서버 측에서 추론을 수행하기 위한 지침과 함께 웹팩 구성이 제공됩니다.
Inference in JavaScript with ONNX Runtime Web!
Inference in JavaScript with ONNX Runtime Web!
  • 2021.11.26
  • www.youtube.com
Docs: https://onnxruntime.ai/docs/GitHub Template: https://github.com/microsoft/onnxruntime-nextjs-template#onnxruntime #machinelearning #javascript #compute...
 

Ron Dagdag - ONNX를 사용하여 브라우저에서 신경망 만들기



Ron Dagdag - ONNX를 사용하여 브라우저에서 신경망 만들기

이 비디오에서 Ron Dagdag는 ONNX 기계 학습 프레임워크를 사용하여 브라우저에서 신경망을 실행하는 방법을 설명합니다. 기계 학습의 기본 사항, ONNX 모델 생성 및 배포, ONNX 런타임 환경에 대해 설명합니다. Dagdag는 업무 경험을 기반으로 급여를 예측하고 이미지에서 감정을 감지하는 등 다양한 예제를 통해 ONNX 사용을 시연합니다. 또한 Android 및 iOS와 같은 다양한 플랫폼에 ONNX 모델을 배포하는 방법을 다루고 ONNX 실험에 사용할 수 있는 리소스 및 데모를 강조합니다. Dagdag는 ONNX를 사용한 실험을 장려하고 ONNX 런타임을 사용하여 대상 플랫폼에서 효율적인 추론의 중요성을 강조합니다.

  • 00:00:00 이 섹션에서는 소프트웨어 엔지니어링 이사이자 Microsoft MVP인 Ron Dagdag가 기계 학습의 기본 사항과 기존 프로그래밍과 기계 학습의 차이점에 대해 설명합니다. 그는 기계 학습에서 입력에 이어 많은 예제 또는 답변을 제공하며 목표는 컴퓨터가 알고리즘을 생성하도록 훈련시키는 것이라고 설명합니다. 또한 브라우저에서 신경망을 실행할 수 있게 해주기 때문에 JavaScript 개발자들 사이에서 인기를 얻고 있는 기계 학습 프레임워크인 ONNX에 대해서도 설명합니다.

  • 00:05:00 이 섹션에서 Ron Dagdag는 교육과 모델을 애플리케이션에 통합하는 다리 역할을 하는 기계 학습 모델용 개방형 형식인 ONNX에 대해 설명합니다. ONNX는 신경망에 국한되지 않고 기존 기계 학습도 포함하며 GitHub에서 사용할 수 있으며 수많은 기여자가 있습니다. 생산 준비가 되어 있고 생산 용도에 최적화되어 있어 리소스가 제한된 에지 장치 또는 IoT 장치에 적합합니다. 또한 ONNX를 사용하면 서로 다른 프레임워크에 구축된 모델을 결합할 수 있으므로 서로 다른 기계 학습 프레임워크를 사용하는 여러 팀과 공동 작업할 수 있는 훌륭한 도구가 됩니다.

  • 00:10:00 이 섹션에서 Ron Dagdag는 ONNX 모델을 만들고 배포하는 프로세스에 대해 설명합니다. 그는 이 과정을 빵을 굽는 것과 비교하면서 빵을 만드는 데 비밀 레시피가 필요한 것처럼 데이터 과학자는 특정 데이터 세트에 맞는 올바른 모델을 만들기 위해 다양한 조합을 실험한다고 말합니다. Dagdag는 ONNX 모델이 Netron 앱을 사용하여 시각화할 수 있는 작업 그래프라고 설명합니다. 그는 ONNX 모델 동물원, 이미지 분류를 위한 Azure 사용자 지정 비전 서비스 사용, 기존 모델 변환을 포함하여 모델을 만드는 세 가지 방법을 언급합니다. Dagdag는 모델을 실험하는 가장 쉬운 방법은 데이터 세트를 업로드하고 레이블을 지정하고 사용자 지정 ONNX 모델을 구축하는 데 사용할 수 있는 사용자 지정 비전 서비스를 사용하는 것이라고 제안합니다.

  • 00:15:00 이 섹션에서는 Ron Dagdag가 기존 기계 학습 모델을 ONNX로 변환하고 이를 ONNX 파일에 저장하는 방법을 설명합니다. 그는 PyTorch 및 Keras를 사용한 간단한 예제와 TensorFlow 및 Scikit-learn용 명령줄 도구를 제공합니다. 또한 배포 프로세스에서 올바른 버전이 사용되도록 모델을 관리하고 등록하는 것의 중요성에 대해서도 이야기합니다. Dagdag는 소프트웨어 엔지니어가 기계 학습 모델을 기존 애플리케이션과 통합하는 데 필요한 기술을 제공함으로써 데이터 과학자의 역량을 강화하여 조직에 유용하게 만들 수 있다고 강조합니다.

  • 00:20:00 이 섹션에서 발표자는 VM 또는 iOS 또는 Android와 같은 장치에 배포하는 것을 포함하여 신경망에 대한 배포 옵션에 대해 설명합니다. 공장에서 빵을 굽는 맥도날드와 식당에서 굽는 서브웨이의 비유를 사용하여 클라우드와 에지 배포의 차이점도 강조합니다. ONNX 런타임은 JavaScript, Node 및 React Native에서 ONNX 모델을 추론하는 데 사용할 수 있는 오픈 소스 도구로 도입되었습니다. 그런 다음 연사는 노드 애플리케이션에서 ONNX 모델을 시각화하는 방법에 대한 데모를 제공하고 .NET 대화형 및 Python 노트북을 사용하여 모델을 훈련하고 ONNX로 변환한 방법에 대해 간략하게 설명합니다.

  • 00:25:00 이 섹션에서 Ron Dagdag는 Microsoft ML을 사용하여 모델을 교육하기 위해 NuGet 패키지에서 ONNX 모델을 만드는 방법을 설명합니다. 그는 하나의 입력 요소(이 경우 사용자 경험 및 경력에 따른 급여)를 기반으로 출력을 예측하는 Microsoft에서 제공한 데이터를 사용합니다. 그가 모델을 훈련하면 ONNX 파일이 생성되고 세션을 생성하고 피드를 전달하여 JavaScript 애플리케이션에 통합합니다. 피드가 세션에 설정되면 그는 피드를 실행하고 점수를 사용합니다. 출력하여 예측 결과를 표시합니다. Dagdag는 런타임 환경에 ONNX Runtime Node를 사용하여 JavaScript 애플리케이션을 실행합니다.

  • 00:30:00 이 섹션에서 Ron Dagdag는 웹 어셈블리 및 webGL 기술을 사용하는 JavaScript 실행 라이브러리인 ONNX 런타임 웹을 사용하여 브라우저에서 기계 학습 모델을 실행하는 방법을 설명합니다. 브라우저에서 모델을 실행하면 로컬에서 실행되고 인터넷 연결에 의존하지 않기 때문에 더 빠르고 안전하며 저렴합니다. Ron은 또한 브라우저에서 대형 모델을 실행해서는 안 된다고 설명하고 입력을 사용하여 모델에 전달하고 예측 출력을 얻는 간단한 예를 사용하여 신경망에서 기존 ONNX 모델을 실행하는 방법을 보여줍니다.

  • 00:35:00 이 섹션에서 Dagdag는 브라우저에서 ONNX 모델을 만들고 통합하는 프로세스를 보여줍니다. 그는 64x64 그레이스케일 이미지에서 감정을 구별할 수 있는 ONNX 모델을 예로 사용합니다. 이미지에서 모델을 사용하기 위해 Dagdag는 먼저 이미지의 크기를 조정하고 전처리한 다음 텐서로 변환합니다. 그는 세 단계로 ONNX 모델을 로드하고, 세션을 만들고, 모델에 입력을 공급하고, 이미지에서 감지된 감정을 표시하기 위해 출력을 처리합니다. Dagdag는 ONNX를 브라우저 응용 프로그램과 통합하는 프로세스에는 세션 생성, session.run에 전달 및 출력 처리가 포함된다고 설명합니다.

  • 00:40:00 이 섹션에서 Ron Dagdag는 모델이 정확하게 분류할 수 있는지 확인하기 위해 사용자가 숫자를 그릴 수 있는 MNIST 데모와 같이 ONNX를 실험하는 데 사용할 수 있는 다양한 리소스와 데모에 대해 설명합니다. 또한 ONNX는 Android 및 iOS 플랫폼에서 React Native와 함께 사용할 수 있지만 모바일에 최적화된 형식으로 변환해야 한다고 언급합니다. ONNX는 Windows 10, Mac, Ubuntu, iOS, Android 등 다양한 플랫폼과 호환되며 webassembly 또는 webgl과 함께 사용할 수 있습니다. Ron은 ONNX 런타임을 사용하여 대상 플랫폼에서 모델을 효율적으로 실행하고 훈련과 추론에 사용되는 것을 분리하는 것이 중요하다고 강조합니다. 또한 ONNX는 Windows ML, Azure ML을 사용하여 배포할 수 있으며 JavaScript 및 Python과 함께 사용할 수 있다고 언급합니다. Ron은 ONNX가 Snapchat AR 안경과 같은 다양한 장치에서 실행될 수 있다고 말하고 시청자가 사용 가능한 리소스와 데모를 사용하여 ONNX를 실험하도록 권장합니다.
 

ONNX를 사용하여 브라우저에서 신경망 실행 - Ron Dagdag - NDC Melbourne 2022



ONNX를 사용하여 브라우저에서 신경망 실행 - Ron Dagdag - NDC Melbourne 2022

Ron Dagdag는 ONNX를 사용하여 브라우저에서 신경망을 실행하는 데 대한 전문 지식을 공유합니다. 그는 프로그래밍의 기본 사항과 이것이 머신 러닝과 어떻게 다른지, JavaScript 및 머신 러닝 프레임워크의 가용성, 머신 러닝 모델이 전화, IoT 및 클라우드를 비롯한 다양한 장치에서 실행될 수 있는 방법에 대해 설명합니다. 그는 서로 다른 프레임워크에서 생성된 모델을 서로 다른 프로그래밍 언어로 된 기존 애플리케이션과 통합할 수 있는 기계 학습 모델을 위한 개방형 형식인 ONNX를 소개합니다. Dagdag는 ONNX 런타임, 웹 어셈블리 및 웹 GL 기술을 통합하여 ONNX 모델을 생성, 관리 및 배포하는 방법을 시연하여 성능, 안전 및 비용을 최적화하면서 브라우저에서 ONNX 모델을 실행합니다. 또한 이 비디오는 모바일 장치에서 사전 훈련된 모델의 점수 매기기, 비용 고려 사항, 대량 데이터의 로컬 처리를 위해 에지에 더 가까운 개체 감지를 실행하는 이점을 다룹니다.

  • 00:00:00 이 섹션에서 Ron Dagdag는 프로그래밍의 기본 사항과 머신 러닝과의 차이점에 대해 설명합니다. 추론에 사용되는 모델을 만드는 데 필요한 교육 데이터 및 프레임워크에 대해 설명합니다. 그는 또한 다양한 JavaScript 및 기계 학습 프레임워크의 가용성을 지적합니다. 마지막으로 그는 기계 학습 모델이 전화, IoT 및 클라우드를 비롯한 다양한 장치에서 실행될 수 있으며 모델을 개선하는 피드백 루프가 될 수도 있다고 강조합니다.

  • 00:05:00 이 섹션에서는 발표자가 GitHub의 오픈 소스인 기계 학습 모델을 위한 개방형 형식인 ONNX(Open Neural Network Exchange)를 소개합니다. ONNX를 사용하면 PyTorch 및 Keras와 같은 다양한 프레임워크에서 생성된 기계 학습 모델을 C#, Java 및 JavaScript와 같은 다양한 프로그래밍 언어로 된 기존 애플리케이션과 통합할 수 있습니다. ONNX를 사용하는 것은 높은 추론 대기 시간과 빠른 결과가 필요할 때, 특히 IoT 또는 에지 장치에서 실행할 때 특히 유용합니다. 또한 ONNX는 서로 다른 모델을 결합하고 원격으로 보내는 대신 로컬에서 교육할 수 있습니다. 세션 의제에는 ONNX 모델 생성 및 배포가 포함됩니다.

  • 00:10:00 이 섹션에서는 발표자가 배포용 ONNX 모델을 만드는 다양한 방법에 대해 설명합니다. 한 가지 방법은 GitHub의 ONNX 모델 Zoo를 이용하는 것입니다. 여기에서 이미지 분류를 기반으로 구축된 기존 모델을 이미 무료로 다운로드할 수 있습니다. 또 다른 방법은 ONNX 모델로 내보낼 수 있는 사용자 지정 모델을 만들기 위해 이미지 또는 데이터 세트를 업로드, 태그 지정 및 교육할 수 있는 Microsoft의 Custom Vision 서비스를 이용하는 것입니다. 기존 모델 변환은 PyTorch 라이브러리 또는 ONNX ML 도구와 같은 라이브러리 또는 도구를 사용하여 수행할 수 있는 또 다른 옵션입니다. 연사는 회사 데이터에 가장 효과적인 모델을 만들기 위한 최선의 접근 방식을 실험하고 파악하는 데 있어 데이터 과학자의 중요성을 강조합니다.

  • 00:15:00 이 섹션에서는 Ron Dagdag가 Azure Machine Learning을 사용하여 기계 학습 모델을 만들고 관리하는 프로세스를 설명합니다. 여기에서 코드 변경을 위해 모델을 Github 리포지토리처럼 등록하고 관리할 수 있습니다. 그는 또한 Visual Studio Code에서 ml.net을 사용하여 ML 모델을 만드는 방법과 ONNX netron 앱에서 열 수 있는 model.onnx 파일을 생성하는 명령줄 인터페이스를 사용하여 ONNX로 내보내는 방법을 시연합니다.

  • 00:20:00 이 섹션에서는 Ron Dagdag가 ONNX 모델을 만든 후 배포하는 방법에 대해 설명합니다. 그는 모델을 애플리케이션과 통합하는 데 배포가 중요하며 개발자는 모델을 클라우드에서 실행할지 에지에서 실행할지 고려해야 한다고 설명합니다. 클라우드에서 실행할 때 개발자는 배포할 데이터 센터를 결정해야 하는 반면, 가장자리에 배포한다는 것은 모델이 전화나 브라우저와 같이 사용자에게 더 가깝게 실행됨을 의미합니다. Dagdag는 유연성과 같은 에지에서 모델을 실행하는 이점과 자금을 수집하거나 비즈니스 규칙을 처리하고 생성하기 위해 데이터를 전달하는 시스템 구축의 중요성에 주목합니다.

  • 00:25:00 이 섹션에서는 발표자가 ONNX ML 사양과 완벽하게 호환되고 오픈 소스인 ONNX 모델용 고성능 추론 엔진인 ONNX 런타임에 대해 이야기합니다. ONNX 런타임을 통해 개발자는 웹 브라우저, iOS, Android, Mac 및 다양한 API를 포함하여 모델을 실행할 다양한 플랫폼과 아키텍처를 선택할 수 있습니다. 연사는 node.js 및 웹어셈블리와 함께 ONNX 런타임을 사용하여 ONNX 모델을 메모리에 로드하고 입력 데이터를 전달하고 출력을 얻는 방법을 보여줍니다. 또한 ONNX 런타임이 계산에 필요한 데이터만 전달하고 나머지는 무시하여 효율적인 처리를 가능하게 하는 방법을 설명합니다.

  • 00:30:00 이 섹션에서 Ron Dagdag는 ml.net을 사용하여 만들고 ONNX로 내보낸 노드를 서버 측에서 실행되는 JavaScript 애플리케이션에 통합하는 방법을 설명합니다. webassembly 및 webgl 기술을 활용함으로써 ONNX 모델은 CPU와 GPU 모두에서 실행될 수 있으므로 성능이 빨라지고 안전성이 향상되며 오프라인 사용이 증가하고 비용이 절감됩니다. 모델을 브라우저에 통합하면 많은 이점이 있지만 큰 모델 크기와 하드웨어 요구 사항은 사용자 경험에 영향을 줄 수 있으므로 장치의 단순화와 고려가 필요합니다. 반응 개발자가 활용할 수 있는 반응 템플릿도 사용할 수 있습니다.

  • 00:35:00 이 섹션에서 Ron Dagdag는 ONNX를 사용하여 브라우저에서 신경망을 실행하는 방법을 보여줍니다. 그는 이미지에서 감정을 감지하는 ONNX 모델 동물원에서 다운로드한 ONNX 모델의 데모를 보여줍니다. ONNX 런타임 웹은 이미지를 업로드하고 처리하는 데 사용됩니다. 이 모델에는 64x64 크기의 입력 이미지가 필요하므로 Ron은 ort.tensor를 사용하여 이미지를 텐서로 변환하기 전에 이미지의 크기를 조정하고 회색조로 변환합니다. 출력은 이미지에서 감지된 감정을 포함하는 1x8의 텐서입니다.

  • 00:40:00 이 섹션에서 연사는 ONNX를 사용하여 브라우저에서 신경망을 실행하는 방법에 대해 설명합니다. 그는 ONNX 모델을 메모리에 로드하는 세 단계는 모델을 로드하고, 모델을 기반으로 입력 매개변수를 만들고, 세션을 실행하여 결과를 얻는 것이라고 설명합니다. 또한 ONNX 모델을 mobile.ort라는 최적화된 모바일 모델로 변환하는 것과 관련된 React Native를 사용하여 모바일 장치에서 사전 훈련된 모델을 채점하는 프로세스에 대해서도 설명합니다. ONNX 런타임은 Windows 10, Mac OS, Ubuntu, iOS, Android, Chrome, Edge, Safari 및 Electron을 비롯한 다양한 플랫폼과 호환됩니다. 발표자는 추론 및 모델 교육의 다양한 파이프라인에 대한 사용 사례를 이해하는 것이 중요하다고 강조하고 자세한 내용에 관심이 있는 사람들을 위해 GitHub에 대한 링크를 제공합니다.

  • 00:45:00 이 섹션에서는 발표자가 물체 감지 및 분할 기능이 있는 Snapchat의 안경에서 기계 학습을 실행하기 위해 ONNX를 사용하는 방법에 대해 이야기합니다. 또한 서로 다른 프레임워크 간의 변환을 위한 중간 지점 역할을 하는 ONNX를 사용하여 PyTorch 및 TensorFlow 모델을 애플리케이션에 통합하는 방법에 대해서도 설명합니다. 그는 IoT 애플리케이션에 장치를 사용할지 스마트 장치를 사용할지 결정할 때 데이터 처리 비용을 고려할 것을 제안하며 대량의 데이터를 전송하면 비용이 많이 들 수 있다고 지적합니다. 발표자는 ONNX로 변환할 수 있는 모델을 사용하여 최적화를 권장하고 사용자 지정 연산자가 아직 매핑되지 않은 경우 추가 작업이 필요하다고 언급합니다.

  • 00:50:00 비디오의 이 섹션에서 Ron Dagdag는 클라우드가 아닌 에지에 더 가까운 개체 감지를 실행할 때의 이점을 설명합니다. 처리는 로컬에서 이루어지므로 대량의 데이터로 작업할 때 이상적입니다. 원시 데이터 자체 대신 추론 결과를 이벤트 허브 또는 스트림으로 보내는 것도 프로세스를 최적화하는 데 도움이 될 수 있습니다.
Making neural networks run in browser with ONNX - Ron Dagdag - NDC Melbourne 2022
Making neural networks run in browser with ONNX - Ron Dagdag - NDC Melbourne 2022
  • 2022.10.18
  • www.youtube.com
The world of machine learning frameworks is complex. What if we can use the lightest framework for inferencing on edge devices? That’s the idea behind ONNX f...
 

Linux Foundation 인공 지능 및 데이터의 날 - ONNX 커뮤니티 회의 - 2021년 10월 21일

Emma Ning(Microsoft) 브라우저 내 추론을 위한 ONNX 런타임 웹


001 ONNX 20211021 브라우저 추론에서 Ning ONNX 런타임 웹

Microsoft AI Framework 팀의 제품 관리자 Emma는 JavaScript 개발자가 CPU용 웹 어셈블리와 GPU용 WebGL을 포함하여 두 개의 백엔드가 있는 브라우저에서 기계 학습 모델을 실행하고 배포할 수 있게 해주는 ONNX Runtime의 새로운 기능인 ONNX Runtime Web을 소개합니다. 웹 어셈블리 백엔드는 모든 ONNX 모델을 실행할 수 있고 다중 스레딩 및 SIMD를 활용하며 기본 ONNX 런타임이 지원하는 대부분의 기능을 지원하는 반면 WebGL 백엔드는 WebGL API를 사용한 순수한 JavaScript 기반 구현입니다. 연사는 또한 백엔드와 ONNX 연산자의 호환성에 대해 논의하고, 추론 세션 생성 및 모델 실행을 위한 코드 스니펫을 제공하고, MobileNet 모델로 구동되는 여러 브라우저 내 이미지 모델 시나리오를 제공하는 데모 웹 사이트를 보여줍니다. 그러나 발표자는 ONNX 런타임 웹의 성능 및 메모리 소비를 개선하고 지원되는 ONNX 연산자를 확장하는 데 여전히 개선의 여지가 있음을 인정합니다.

  • 00:00:00 이 섹션에서는 Microsoft AI Framework 팀의 제품 관리자인 Emma가 브라우저 내 추론을 위한 새로운 솔루션인 ONNX Runtime Web을 소개합니다. 브라우저 내 기계 학습에 대한 아이디어는 브라우저를 통한 시스템 구현으로 플랫폼 간 이식성을 가능하게 하고 사용자 개인 정보를 보호하며 서버에 데이터를 전송하지 않고 성능을 가속화하기 때문에 주목을 받고 있습니다. ONNX Runtime Web은 JavaScript 개발자가 개선된 추론 성능, 모델 적용 범위 및 개발 환경을 통해 브라우저에서 기계 학습 모델을 실행 및 배포할 수 있도록 하는 ONNX Runtime의 새로운 기능입니다. ONNX Runtime Web의 아키텍처는 CPU용 웹 어셈블리와 GPU용 WebGL을 포함하여 ONNX Runtime Web이 CPU와 GPU 모두에서 추론을 가속화할 수 있도록 하는 두 개의 백엔드로 구성됩니다. 웹 어셈블리 백엔드는 모든 ONNX 모델을 실행할 수 있고 다중 스레딩 및 SIMD를 활용하며 기본 ONNX Runtime 지원 기능 대부분을 지원할 수 있습니다. 반면에 WebGL 백엔드는 컴퓨터의 GPU에 대한 직접 액세스를 제공하는 WebGL API를 사용하는 순수한 JavaScript 기반 구현으로, 많은 최적화 기술을 통해 성능을 최대로 끌어올릴 수 있습니다.

  • 00:05:00 이 섹션에서 연사는 웹 세계에서 가장 인기 있는 플랫폼을 지원하는 WebAssembly 및 WebGL 백엔드와 ONNX 연산자의 호환성에 대해 논의합니다. 호환되는 플랫폼과 지원되는 ONNX 연산자를 보여 주는 테이블에 대한 링크를 제공합니다. 또한 추론 세션을 생성하고 ONNX 런타임 웹으로 모델을 실행하는 방법을 보여주는 코드 스니펫을 제공하여 서버 측 및 클라이언트 측 영향을 위한 일관된 개발 환경을 가능하게 합니다. 그런 다음 연사는 다른 백엔드를 선택할 수 있는 옵션이 있는 브라우저에서 MobileNet 모델을 실행하는 것과 같이 이미지 모델로 구동되는 몇 가지 흥미로운 브라우저 내 비전 시나리오가 포함된 데모 웹 사이트를 공유합니다. 연사는 더 많은 ONNX 연산자를 추가하고 ONNX 런타임 웹 성능 및 메모리 소비를 최적화하는 측면에서 여전히 개선의 여지가 있음을 인정하고 그 기능을 보여주기 위해 더 많은 데모를 작업하고 있음을 인정합니다.
001 ONNX 20211021 Ning ONNX Runtime Web for In Browser Inference
001 ONNX 20211021 Ning ONNX Runtime Web for In Browser Inference
  • 2021.11.05
  • www.youtube.com
LF AI & Data Day - ONNX Community Meeting - October 21, 2021Emma Ning (Microsoft)ONNX Runtime Web for In Browser Inference
 

웹 및 기계 학습 W3C 워크샵 2020년 여름

ONNX.js - 브라우저 및 Node.js에서 ONNX 모델을 실행하는 Javascript 라이브러리



ONNX.js - 브라우저 및 Node.js에서 ONNX 모델을 실행하는 Javascript 라이브러리

ONNX.js는 사용자가 브라우저 및 Node.js에서 ONNX 모델을 실행할 수 있도록 하는 JavaScript 라이브러리입니다. 다양한 기법으로 CPU와 GPU 모두에서 모델을 최적화하고 손쉬운 분석을 위해 프로파일링, 로깅, 디버깅을 지원합니다. 라이브러리는 모든 주요 브라우저와 플랫폼을 지원하고 멀티코어 시스템에서 더 나은 성능을 위해 웹 작업자를 사용하여 병렬화를 가능하게 합니다. WebGL을 사용하여 GPU 기능에 액세스하면 성능이 크게 향상되고 CPU와 GPU 간의 데이터 전송이 줄어듭니다. 추가 최적화 및 운영자 지원이 필요하지만 연사는 ONNX.js를 개선하기 위한 커뮤니티 기여를 권장합니다.

  • 00:00:00 이 섹션에서는 Microsoft의 Emma가 브라우저 및 Node.js에서 ONNX 모델을 실행하는 데 사용되는 JavaScript 라이브러리인 ONNX.js에 대해 이야기합니다. JavaScript는 웹 사이트의 95%에서 사용되는 매우 중요한 언어이며 GitHub Desktop 및 VS Code와 같은 전자 앱에 사용되는 가장 인기 있는 클라이언트 측 언어입니다. JavaScript가 고성능 컴퓨팅을 위해 설계되지 않았다는 인식에도 불구하고 JavaScript와 기계 학습이 함께 잘 작동하도록 만드는 기술이 있습니다. 클라이언트 측 머신 러닝을 사용하는 이점에는 실시간 분석을 허용하는 동시에 개인 정보 보호, 플랫폼 간 일관된 AI 경험 지원, 라이브러리나 드라이버 설치 없이 GPU를 활용하여 성능을 가속화하는 것이 포함됩니다. ONNX.js는 TensorFlow.js와 유사하며 표준 프레임워크인 ONNX 형식으로 기계 학습 모델을 제공합니다.

  • 00:05:00 이 섹션에서는 Microsoft와 Facebook이 2017년 창 중립적인 개방형 표준을 제공하기 위해 설립한 ONNX 커뮤니티에 대해 알아봅니다. ONNX.js는 사용자가 브라우저에서 ONNX 모델을 실행하고 JS를 로드할 수 있도록 하는 ONNX의 순수한 JavaScript 구현입니다. 여러 고급 기술 기법을 사용하여 CPU와 GPU 모두에서 모델을 최적화하고 3개의 백엔드를 지원합니다. 2개는 JavaScript 및 WebAssembly를 사용하는 CPU용, 1개는 WebGL을 사용하는 GPU용입니다. ONNX.js는 또한 간편한 디버깅 및 분석을 위한 프로파일러, 로거 및 기타 유틸리티를 제공하고 주요 플랫폼의 모든 브라우저를 지원하여 여러 플랫폼에서 AI 애플리케이션을 쉽게 구축할 수 있습니다. 마지막으로 웹 작업자를 사용하면 무거운 연산자 내에서 병렬화가 가능하여 멀티코어가 있는 시스템의 성능이 크게 향상됩니다.

  • 00:10:00 이 섹션에서는 발표자가 GPU 기능에 액세스하기 위한 인기 있는 표준 API인 WebGL을 사용하여 JavaScript에서 그래픽 생성을 가속화할 때의 이점에 대해 설명합니다. WebGL을 사용하면 CPU와 GPU 간의 데이터 전송을 줄이고 GPU 처리 주기를 줄이는 데 많은 최적화가 가능하여 성능이 크게 향상됩니다. 연사는 또한 ONNX.js를 사용하여 모델을 실행하는 종단 간 흐름 예제를 제공하고 HTML 예제, npm 및 경계 도구와 함께 ONNX.js를 사용하는 방법을 보여줍니다. 또한 발표자는 더 많은 ONNX 운영자를 위한 추가 최적화 및 지원의 필요성에 대해 논의하고 ONNX.js를 개선하기 위한 커뮤니티 기여를 권장합니다.
ONNX.js - A Javascript library to run ONNX models in browsers and Node.js
ONNX.js - A Javascript library to run ONNX models in browsers and Node.js
  • 2020.09.30
  • www.youtube.com
by Emma Ning (Microsoft)ONNX.js is a Javascript library for running ONNX models on browsers and on Node.js, on both CPU and GPU. Thanks to ONNX interoperabil...
 

ONNX.js를 사용하여 브라우저에서 PyTorch 모델을 실행하는 방법



ONNX.js를 사용하여 브라우저에서 PyTorch 모델을 실행하는 방법

이 비디오는 더 나은 응답 시간, 확장성, 오프라인 가용성 및 향상된 사용자 개인 정보 보호를 포함하여 JavaScript 및 ONNX.js를 사용하여 브라우저에서 PyTorch 모델을 실행할 때의 이점을 설명합니다. 또한 비디오는 PyTorch 모델을 ONNX 모델로 변환하고 ONNX.js 세션에 로드하고 브라우저에서 추론을 실행하는 프로세스를 안내합니다. 데이터 준비, 디버깅 및 증강에 대해서도 논의하고 연사는 데이터 증강 기술을 사용하여 모델을 보다 견고하게 만드는 방법을 시연합니다. 비디오는 샘플 코드와 사용자가 모델을 직접 사용해 볼 수 있는 데모 웹 사이트를 제공합니다.

  • 00:00:00 이 섹션에서는 Eliot Wait가 JavaScript를 사용하여 브라우저에서 PyTorch 모델을 실행할 때의 이점에 대해 설명합니다. 첫째, 브라우저에서 모델을 실행하면 더 나은 응답 시간을 제공하고 서버에서 데이터를 주고받는 대기 시간을 피할 수 있습니다. 둘째, 정적 파일만으로 웹 사이트를 설정하면 더 쉽게 확장하고 더 많은 사용자를 처리할 수 있습니다. 셋째, 모델은 오프라인에서 작동하므로 JavaScript 파일이 이미 설치되어 있는 한 인터넷 액세스 없이 계속 사용할 수 있습니다. 넷째, 브라우저에서 모델을 호스팅하면 데이터가 서버와 공유되지 않으므로 사용자 개인 정보가 향상됩니다. 그러나 모델이 너무 크거나 사용자 장치에서 계산하는 데 너무 많은 시간이 걸리는 경우 서버에서 호스팅하는 것이 좋습니다. 마지막으로 Eliot는 필기 숫자 인식을 위한 Mnest 모델을 사용하여 PyTorch 모델을 JavaScript로 쉽게 변환하는 방법을 보여줍니다.

  • 00:05:00 이 섹션에서는 동영상에서 TensorFlow.js와 ONNX.js 사용의 차이점을 설명하고 훈련에 TensorFlow.js를 사용하고 추론에 ONNX.js를 사용하도록 제안합니다. ONNX는 "개방형 신경망 교환"을 의미하며 기계 학습 모델을 위한 공통 파일 형식을 정의합니다. 그런 다음 비디오는 torch.onnx.export 메서드를 사용하여 PyTorch 모델을 ONNX 모델로 변환하는 프로세스를 안내하고 모델을 ONNX.js 추론 세션으로 로드하여 브라우저에서 추론을 실행하는 방법을 보여줍니다. 비디오는 세션 생성, 모델 로드 및 읽기 전용 출력 맵을 반환하는 더미 입력에 대한 추론 실행을 위한 샘플 코드를 제공합니다.

  • 00:10:00 이 섹션에서는 비디오에서 ONNX.js를 사용하여 브라우저에서 PyTorch 모델을 실행하려고 할 때 발생하는 오류를 해결하는 방법에 대해 설명합니다. 특히, 오류 메시지는 log-softmax 연산자가 현재 ONNX.js에서 지원되지 않는다고 명시하지만 비디오 발표자는 softmax 연산자가 대신 지원됨을 보여줍니다. 비디오는 또한 사용자가 숫자를 그리고 PyTorch 모델의 출력 예측을 볼 수 있는 데모 웹 사이트를 소개합니다. 그러나 발표자는 모델을 로드하는 데 문제가 있으며 모델을 통해 데이터를 실행하기 전에 모델이 로드되었는지 확인하여 수정됩니다. 마지막으로 비디오는 이미지 데이터 목록을 280x280x4 텐서로 재구성하여 모델이 픽셀 입력을 기반으로 숫자 값을 예측할 수 있도록 하는 모델 코드의 업데이트된 버전을 보여줍니다.

  • 00:15:00 비디오의 이 섹션에서 연사는 ONNX.js를 사용하여 브라우저에서 실행될 PyTorch 모델에 대한 데이터를 준비하는 방법을 설명합니다. 그려진 이미지의 네 번째 채널을 추출하여 PyTorch 이미지의 예상 모양으로 모양을 변경합니다. 또한 평균 풀 연산자를 적용하고 텐서를 255로 나누어 예상 범위 내에서 이미지 값을 조정합니다. 또한 데이터 세트의 평균을 빼고 표준 편차로 나누어 데이터를 정규화하는 방법을 설명합니다. 스피커는 더미 입력의 오래된 모양으로 인한 오류를 식별하고 수정 방법을 설명합니다. 또한 모델을 통해 이미지 데이터를 전달하기 전에 이미지 데이터를 회전 및 변환하여 모델을 더 정확하게 만들기 위해 데이터 증대를 디버깅하고 적용하는 방법을 설명합니다.

  • 00:20:00 이 섹션에서 발표자는 교육 스크립트에 데이터 증대를 추가하여 모델을 더욱 견고하게 만드는 방법을 보여줍니다. 이러한 증강에는 변환, 크기 조정 및 숫자 전단이 포함되어 모델이 학습할 수 있는 더 까다로운 샘플을 생성합니다. 그런 다음 화자는 모델을 처음부터 다시 훈련하고 테스트하며 여전히 개선될 수 있지만 추가된 데이터 증가로 인해 전체적으로 더 견고해졌습니다. 연사는 비디오 설명의 링크를 사용하여 시청자가 모델을 직접 사용해 보도록 초대합니다.
How to Run PyTorch Models in the Browser With ONNX.js
How to Run PyTorch Models in the Browser With ONNX.js
  • 2020.02.13
  • www.youtube.com
Run PyTorch models in the browser with JavaScript by first converting your PyTorch model into the ONNX format and then loading that ONNX model into your webs...
 

ONNX Runtime 데모를 사용하여 CPU에서 숫자 분류



ONNX Runtime 데모를 사용하여 CPU에서 숫자 분류

ONNX(Open Neural Network Exchange)는 딥 러닝 및 머신 러닝 모델을 위한 오픈 소스 형식을 제공합니다. 선호하는 프레임워크에서 모델을 교육한 다음 모델을 ONNX 형식으로 변환할 수 있습니다. Microsoft의 ONNX Runtime을 사용하면 약간 더 빠른 구현을 제공하는 모든 환경에서 onnx 모델로 추론 세션을 실행할 수 있습니다. 다음은 동일한 데모입니다. 이 모델은 PyTorch와 함께 MNIST 데이터 세트를 사용하여 숫자를 인식하도록 훈련되었습니다. Linux CPU에서 추론 세션을 실행하고 있습니다.

https://github.com/NagarajSMurthy/Digit-recognizer

Digit classification on CPU with ONNX Runtime demo
Digit classification on CPU with ONNX Runtime demo
  • 2020.09.06
  • www.youtube.com
Open Neural Network Exchange (ONNX) provides an open-source format for both deep learning and machine learning models.We can train our models in whichever fr...
 

ONNX 및 DJL을 사용하여 JVM에서 수십억 개의 NLP 추론



ONNX 및 DJL을 사용하여 JVM에서 수십억 개의 NLP 추론

미디어 인텔리전스 회사의 CTO가 기계 학습 파이프라인에서 NLP 토큰화를 위해 JVM, DJL 및 Hugging Face를 사용하여 다양한 사용 사례에 대한 미디어 환경을 마이닝하는 방법에 대해 설명합니다. 제품 기능이 발전함에 따라 기계 학습 및 모델링 시스템은 CPU가 더 이상 충분하지 않은 규모에 도달하면서 모든 것을 계속 실행하는 데 필수적인 부분이 되었습니다. 그들은 32비트 부동 소수점 모델 사용에서 16비트로 전환하여 효율성이 3% 증가했지만 프로세스 중에 변환 오류 및 드문 메모리 누수에 직면했으며 여러 구현을 교체하여 해결했습니다. 그들은 GPU 기반 CI를 추가하고 다양한 추론의 대기 시간 및 토큰화 대기 시간을 모니터링하는 고급 Prometheus 논리 스택을 설정하여 견고성에 투자했습니다. 향후 계획에는 다중 GPU 설정을 생성하여 GPU 효율성을 개선하고 시스템에 더 많은 모델을 추가하는 것이 포함됩니다.

  • 00:00:00 비디오의 이 섹션에서는 미디어 인텔리전스 회사의 CTO인 Viet이 회사의 인프라가 JVM을 기반으로 하는 방법과 이를 사용하여 제품 출시와 같은 다양한 사용 사례에 대해 미디어 환경을 마이닝하는 방법에 대해 설명합니다. 추적 및 평판 추적. 그는 그들의 시스템이 JVM에 의해 구동되며 기계 학습 파이프라인에서 NLP 토큰화를 위해 DJL과 Hugging Face를 사용한다고 설명합니다. 이 회사의 머신 러닝 및 모델링 시스템은 더 이상 그냥 있으면 좋은 것이 아니라 제품 기능이 발전함에 따라 모든 것을 계속 가동하고 실행하는 데 필수적인 부품입니다. 그들은 CPU가 더 이상 충분하지 않은 규모에 도달했기 때문에 Cubernates를 수평적 확장을 위한 시스템으로 보고 있습니다. 그들의 시스템은 하루에 수십억 개의 추론을 산출하고 있으며 GPU 가속을 수행하고 800만 개의 사이트를 사용하여 전체 웹 크롤러 시스템을 구축합니다.

  • 00:05:00 이 섹션에서는 연사가 ONNX 에코시스템과 함께 작업하면서 경험한 내용에 대해 이야기합니다. 그들은 32비트 부동 소수점 모델 사용에서 16비트로 전환하여 효율성이 3% 증가했다고 말합니다. 그러나 이 과정에서 변환 오류가 발생하여 ONNX 모델에서 예기치 않은 결과가 발생했습니다. 그들은 또한 몇 가지 구현을 교체하여 해결한 드문 메모리 누수에 직면했습니다. 발표자는 GPU 기반 CI를 추가하고 다양한 추론의 대기 시간 및 토큰화 대기 시간을 모니터링하는 고급 Prometheus 논리 스택을 설정하여 견고성에 투자했다고 설명합니다. 마지막으로 GPU 효율성을 개선하고 다중 GPU 설정을 생성하여 시스템에 더 많은 모델을 추가하는 등 향후 계획에 대해 논의합니다.
Billions of NLP Inferences on the JVM using ONNX and DJL
Billions of NLP Inferences on the JVM using ONNX and DJL
  • 2022.07.13
  • www.youtube.com
This session outlines the recently rolled out Hypefactors' MLOps infrastructure designed for billions NLP inferences a day. The workload serves media intelli...
 

ONNX 및 JVM


ONNX 및 JVM

JVM(Java Virtual Machine)에 대한 ONNX 지원은 거의 모든 애플리케이션에서 ML 모델이 더욱 두드러지고 있기 때문에 매우 중요합니다. Java는 라이브 소프트웨어 애플리케이션 구축에 사용되는 가장 큰 플랫폼 중 하나이므로 Java 또는 C#과 같은 프로그래밍 언어 내에서 지원을 제공하는 것이 필수적입니다. Oracle은 ONNX 런타임 C API를 Java로 제공하여 C API를 통해 Java API의 얇은 계층을 사용하여 성능에 미치는 영향을 최소화하면서 쉽게 배포할 수 있도록 하는 것을 목표로 합니다. 연사는 또한 Java에서 ONNX 모델을 작성하기 위한 오픈 소스 라이브러리에 대해 논의하고, 로지스틱 회귀 그래프 예제를 소개하고, ONNX 메타데이터 형식의 표준화 부족에 대해 논의하면서 Trippo의 ONNX 내보내기 항목에 대한 기여를 초대합니다.

  • 00:00:00 이 섹션에서는 Oracle Labs 기계 학습 연구 그룹의 연구원인 Adam Pocock이 JVM(Java Virtual Machine)에서 ONNX를 지원하는 것이 중요한 이유를 설명합니다. 거의 모든 애플리케이션에서 ML 모델이 더욱 중요해짐에 따라 Java 또는 C#과 같이 애플리케이션이 작성된 언어 내에서 지원을 제공하는 것이 중요합니다. Pocock에 따르면 Java는 수백만 명의 Java 개발자와 함께 전 세계적으로 라이브 소프트웨어 애플리케이션을 구축하기 위한 가장 큰 플랫폼 중 하나입니다. 결과적으로 Oracle의 목표는 ONNX 런타임 C API를 Java로 제공하여 성능에 미치는 영향을 최소화하면서 사용자가 쉽게 배포할 수 있도록 하는 것입니다. C API를 통한 Java API의 얇은 계층을 보여주는 빠른 코드 예제가 표시됩니다.

  • 00:05:00 이 섹션에서 발표자는 기계 학습 모델의 오버헤드를 최소화하기 위해 쌍을 이루는 기본 개체와 함께 Java 개체를 사용하는 문제에 대해 설명합니다. 그들은 모든 것을 정리할 수 있도록 안전망이 마련되어 있지만 일반 어레이를 사용하는 것은 권장하지 않는다고 설명합니다. 연사는 또한 Java에서 ONNX 모델을 작성하기 위한 오픈 소스 라이브러리를 소개합니다. 여기에는 속성 유효성 검사 및 검사와 Java 배열을 쉽게 내보낼 수 있는 기능이 포함됩니다. 그들은 이 라이브러리를 사용하여 로지스틱 회귀 그래프를 작성하는 방법의 예를 제공하고 연산자 열거형을 확장하고 출처 및 메타데이터를 변환된 모델에 통합할 계획을 언급합니다.

  • 00:10:00 이 섹션에서 발표자는 ONNX의 메타데이터 형식과 관련된 표준화 부족에 대해 논의합니다. ONNX 메타데이터에 학습 데이터, 하이퍼파라미터 등의 데이터를 포함할 가능성은 있지만 표준화되어 있지는 않습니다. 연사는 인텔이 메타데이터 형식을 표준화하기 위해 수행하고 있는 작업에 관심을 표명합니다. 연사는 또한 Trippo의 ONNX 내보내기 항목에 대한 기여를 초대하고 주제에 대한 토론을 장려합니다.
ONNX and the JVM
ONNX and the JVM
  • 2022.07.13
  • www.youtube.com
Integrating machine learning into enterprises requires building and deploying ML models in the environment's enterprises build their software in. Frequently ...
사유: