이 안내서는 MATLAB과 Python® 기반 모델을 AI(인공 지능) 워크플로에 결합하는 방법을 다루고 있습니다. Deep Learning Toolbox를 사용해 MATLAB, PyTorch®, TensorFlow™ 간에 변환하는 방법을 알아볼 수 있습니다.
MATLAB을 PyTorch 및 TensorFlow에 통합하면 다음과 같은 작업을 수행할 수 있습니다.
- 크로스 플랫폼 및 팀 간 협업 촉진
- 모델 성능 및 시스템 통합 테스트
- MATLAB 및 Simulink 툴을 사용한 엔지니어드 시스템 설계
PyTorch 및 TensorFlow 모델을 MATLAB으로 가져오는 이유
PyTorch 또는 TensorFlow 모델을 MATLAB 신경망으로 변환하면, 변환된 신경망에 함수 및 앱 등의 모든 MATLAB AI 내장 툴을 사용하여 전이 학습, 설명 가능한 AI 및 검증, 시스템 수준 시뮬레이션 및 테스트, 신경망 압축, 타겟 배포를 위한 자동 코드 생성을 수행할 수 있습니다.
PyTorch 및 TensorFlow 모델 가져오기 준비
PyTorch 및 TensorFlow 모델을 MATLAB으로 가져오기 전에 모델을 올바른 형식으로 준비하고 저장해야 합니다. Python에서 아래의 코드를 사용해 모델을 준비할 수 있습니다.
PyTorch 가져오기에는 추적된 PyTorch 모델이 필요합니다. PyTorch 모델을 추적한 후 저장합니다. PyTorch 모델을 추적하는 방법에 대한 자세한 내용은 Torch 문서: 함수 추적 항목을 참조하세요.
X = torch.rand(1,3,224,224)
traced_model = torch.jit.trace(model.forward,X)
traced_model.save("torch_model.pt")
TensorFlow 모델은 SavedModel 형식으로 저장해야 합니다.
model.save("myModelTF")
PyTorch 및 TensorFlow 모델을 가져오는 방법
단 한 줄의 코드로 PyTorch 및 TensorFlow에서 MATLAB으로 모델을 가져와 MATLAB 신경망으로 변환할 수 있습니다.
importNetworkFromPyTorch 함수를 사용하고 특정 PyTorch 모델에 맞는 올바른 입력 크기로 PyTorchInputSizes를 지정합니다. 이렇게 하면 PyTorch 모델에는 본질적으로 입력 계층이 없으므로 이 함수는 가져온 신경망에 대한 영상 입력 계층을 생성할 수 있습니다. 자세한 내용은 PyTorch 및 TensorFlow에서 모델 가져오기에 대한 팁 항목을 참조하세요.
net = importNetworkFromPyTorch("mnasnet1_0.pt",PyTorchInputSizes=[NaN,3,224,224])
TensorFlow에서 신경망을 가져오려면 importNetworkFromTensorFlow 함수를 사용합니다.
대화형 방식으로 PyTorch 및 TensorFlow 모델 가져오기
심층 신경망 디자이너 앱을 사용하면 PyTorch에서 대화형 방식으로 모델을 가져올 수 있습니다. 이후 앱에서 가져온 신경망을 보고, 편집하고, 분석할 수 있습니다. 앱에서 Simulink로 직접 신경망을 내보낼 수도 있습니다.
MATLAB에서 PyTorch 및 TensorFlow로 모델을 내보내는 방법
MATLAB 신경망을 TensorFlow와 PyTorch로 내보내고 공유할 수 있습니다. exportNetworkToTensorFlow를 사용해 TensorFlow로 직접 내보내고 exportONNXNetwork 함수를 사용해 ONNX™를 통해 PyTorch로 내보낼 수 있습니다.
exportNetworkToTensorFlow(net,"myModel")
비교: 공동 실행과 모델 변환
먼저, MATLAB 환경에서 PyTorch 또는 TensorFlow 모델을 공동 실행하는 것과 외부 플랫폼 모델을 MATLAB 신경망으로 변환하는 것을 비교하여 어떤 워크플로가 여러분의 작업에 가장 적합한지 결정할 수 있습니다.
공동 실행 |
모델 변환 |
|
|---|---|---|
모든 PyTorch 및 TensorFlow 모델에 대해 작동 |
네 |
아니요 |
Simulink에서 모델 시뮬레이션 |
네 |
네 |
코드 자동 생성 |
아니요 |
네 |
설명 가능성 기법 적용 |
객체 검출에만 해당 |
네 |
강인성 및 신뢰성 검증 |
아니요 |
네 |
로우코드 AI 앱 사용 |
아니요 |
네 |
신경망 압축 |
아니요 |
네 |
MATLAB에서 Python 기반 모델 공동 실행
MATLAB에서 직접 PyTorch 및 TensorFlow 모델 또는 Python 코드를 호출할 수 있습니다. 이를 통해 Python 기반 모델을 비교하여 예를 들어 MATLAB에서 구축한 AI 워크플로의 일부로 가장 높은 정확도를 제공하는 모델을 찾거나 할 수 있습니다.
Simulink에서 Python 기반 모델 공동 실행
Simulink 공동 실행 블록을 사용해 시스템 내에서 PyTorch, TensorFlow, ONNX 및 사용자 지정 Python 모델을 시뮬레이션하고 테스트할 수 있습니다. 이를 통해 설계를 반복하고 모델 거동을 평가하며 시스템 성능을 테스트할 수 있습니다.
AI 모델에 Simulink를 사용하는 이유
엔지니어는 AI를 모델 기반 설계에 결합하여 딥러닝 모델을 더 큰 시스템에 통합하는 과정을 테스트하는 것 외에도, 가상 센서 설계와 같은 응용 사례를 위한 복잡한 시스템 설계를 가속화하고 향상할 수 있습니다.
Python에서 MATLAB 호출하기
AI 워크플로에서 MATLAB을 Python에 결합하는 또 다른 방법은 Python 환경에서 MATLAB을 호출하는 것입니다. 이 옵션을 살펴보고 MATLAB의 도메인 특정 툴을 사용해 Python 기반 모델에 입력할 데이터를 준비하거나 MATLAB AI 툴을 호출해 Python 기반 AI 모델의 결정을 시각화하고 해석할 수 있습니다.
MATLAB Online에서 리포지토리 열기
MATLAB Online에서 LLM으로 작업할 수 있습니다. MATLAB 코드가 있는 File Exchange 및 GitHub® 리포지토지에는 MATLAB Online에서 열기 버튼이 있습니다. 이 버튼을 클릭하면 MATLAB Online에서 리포지토리가 바로 열립니다.
API를 통해 또는 로컬에 모델을 설치하여 MATLAB에서 gpt-4, llama3 및 mixtral 등 널리 사용되는 LLM(대규모 언어 모델)을 이용할 수 있습니다. 그런 다음 선호하는 모델을 사용해 텍스트를 생성할 수 있습니다. 또는, MATLAB에 포함된 사전 훈련된 BERT 모델을 사용할 수 있습니다.
LLM을 사용한 자연어 처리
LLM은 인간의 언어에 존재하는 단어와 뉘앙스 사이의 복잡한 관계를 포착할 수 있기 때문에 NLP(자연어 처리)에 혁명을 일으켰습니다. MATLAB에서 LLM을 사용하는 것은 NLP 파이프라인의 일부일 뿐입니다. (MATLAB AI를 사용한 NLP 참조) MATLAB의 툴을 활용해 완벽한 파이프라인을 구축할 수 있습니다. 예를 들어, Text Analytics Toolbox 함수를 사용해 텍스트 데이터에 액세스하고 이를 준비할 수 있습니다.
자연어 처리 파이프라인.
리포지토리: LLMs with MATLAB
LLMs with MATLAB 리포지토리를 통해 MATLAB을 OpenAI®의 Chat Completions API(ChatGPT™의 기반), 로컬 LLM을 위한 Ollama™(로컬 LLM용) 및 Azure® OpenAI 서비스에 연결할 수 있습니다.
OpenAI API를 통해 LLM 이용하기
사용자는 리포지토리에 있는 코드를 사용해 MATLAB 환경에서 OpenAI API와 연동하고 자체 챗봇 구축 및 감성 분석을 비롯한 다양한 NLP 작업에 모델(GPT-4 및 GPT-4 Turbo 등)을 사용할 수 있습니다. OpenAI API와 연동하려면 OpenAI API 키를 받아야 합니다. 키와 요금에 대한 자세한 내용은 OpenAI API 항목을 참조하세요.
챗봇 구축.
Azure OpenAI 서비스를 통해 LMM 이용하기
Azure OpenAI Services를 사용하려면 먼저 Azure 계정에 모델을 배포하고 모델에 대한 키를 받아야 합니다. Azure OpenAI는 OpenAI와 API를 공동 개발하고 Microsoft® Azure의 보안 기능을 추가로 제공합니다. LLMs with MATLAB 리포지토리는 MATLAB에서 Azure OpenAI Services에 연결할 수 있는 코드를 제공합니다.
Ollama를 통해 로컬 LLM 이용하기
리포지토리의 코드를 사용하고 MATLAB을 로컬 Ollama 서버에 연결하면 llama3, mistral 및 gemma 등 널리 사용되는 로컬 LLM를 이용할 수 있습니다. 자체 데이터를 사용하여 LLM의 정확도를 향상할 수 있는 RAG(검색증강생성)와 같은 NLP 작업에 로컬 LLM을 사용할 수 있습니다.
검색증강생성의 워크플로.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)