Mendix 애플리케이션이 내장된 알고리즘 모델 개발 사례

I. 소개

최신 Accenture 조사 에 따르면 기업의 67%가 2023년에도 기술에 대한 투자를 계속 늘릴 것이며, 데이터와 AI 애플리케이션을 최우선 과제로 삼을 것입니다. 기업 내 AI 적용에 대한 화두는 지난 10여년 동안 화두였으며, ChatGPT로 대표되는 생성적 AI 기술의 등장으로 이 화두는 또 다른 정점을 맞이하게 되었습니다.

1.png

생성적 AI가 보여주는 힘은 놀랍습니다. 기업은 비즈니스 가치를 창출하기 위해 AI의 새로운 통합 지점을 찾기 위해 면밀히 후속 조치를 취해야 합니다. 동시에, AI의 새로운 시대(현재처럼 보이는)의 전환점에서 기업은 지난 10년 동안 AI 애플리케이션의 이니셔티브가 기대치를 충족했는지 여부를 검토할 필요가 있습니다. 입력과 출력에는 여전히 개선의 여지가 있습니다.

2. 제기된 질문

저자는 최근 두 고객 모두 AI를 적용하고 있지만 사용 방식에 차이가 있는 것을 목격했다.

고객 1: 외국계 은행 고객이 디지털 은행의 5개년 전략 계획을 추진 중이며, 230명 이상의 IT 팀을 보유하고 있으며, 운영 부서에는 15명의 데이터 과학 팀이 속해 있습니다. 로우코드에 대해 IT팀과 소통하던 중 15명으로 구성된 데이터 사이언스팀의 구체적인 업무에 대해 물었고, 주로 은행의 C-end와 B-end 고객의 거래 데이터에 대한 이력 분석을 한다는 사실을 알게 됐다. 머신러닝 모델을 구축하고 미래 사업을 예측합니다. 운영 부사장 및 기타 임원에게 정기적 및 임시로 데이터 보고서를 제공합니다. 이 직위의 평균 급여는 IT 개발자의 두 배입니다.

고객 2: 고분자 소재 연구 및 제품 개발에 종사하는 국내 첨단 기술 고객입니다. R&D팀(비 IT) 직원은 기본적으로 데이터 분석 배경을 갖추고 있으며, 데이터 처리를 위해 Python을 사용하는 것이 일상 업무이며, 핵심 연구에는 기계 학습 알고리즘 교육도 포함됩니다. IT 부서가 R&D 부서에 디지털 서비스를 제공할 때 알고리즘 모델을 통합해야 하는 애플리케이션 개발 요구 사항이 많이 있습니다. 현재 관행은 애플리케이션과 Python 알고리즘 서비스가 독립적으로 실행되고 애플리케이션이 Python을 호출하는 것입니다. 상호 작용.

이에 비해 고객 1의 AI 투자는 상당하지만 그 결과물이 비즈니스 프로세스와 강력하게 결합되지 않고 의사결정자의 주관적 참조를 위해 오프라인 보고서로 제공됩니다. 이러한 현상은 "연결되지 않은 AI 애플리케이션의 마지막 단계"라고 할 수 있으며, 이 모드에서는 ROI가 제한되는 경우가 많습니다. 고객 2의 업종은 추가 투자보다는 알고리즘과 데이터 분석을 이해하는 R&D 인력이 있어야 한다고 판단하는데, IT 부서가 R&D 부서의 결과물을 어떻게 처리하느냐에 어려움이 있습니다. 애플리케이션과 알고리즘 서비스의 독립적인 배포와 인터페이스 호출은 기술적으로 가능하지만, 애플리케이션 개발, 운영 및 유지 관리, 동시 확장, 마이그레이션 측면에서 효율성이 낮은 문제가 있을 것입니다.

3. 멘딕스의 답변

엔터프라이즈 애플리케이션 구축에서 AI의 역할에 대한 Mendix의 비전은 완전히 내재되어 있습니다. 즉, AI의 기능이 애플리케이션의 전체 라이프사이클에 통합되어야 합니다.

2.png

  • 애플리케이션 개발 단계: Mendix IDE에는 자체 AI 로봇이 있으며, 한편으로는 마이크로플로우 파일을 기반으로 논리적 구성 요소를 추천할 수 있고, 다른 한편으로는 전체 프로젝트를 스캔하고 Mendix 개발 모범 사례를 기반으로 엔지니어링 개선 제안을 추천할 수 있습니다. . 연말까지 출시될 것으로 예상되는 생성 AI 기능을 통해 Mendix Chat은 마침내 개발자와의 자연어 기반 커뮤니케이션을 구현하고 엔터티 및 마이크로플로우의 자동 생성을 실현하게 됩니다.

3.png

  • 애플리케이션 실행 단계: Mendix ML Kit는 기계 학습 알고리즘 모델을 ONNX 형식으로 구문 분석하고 Call ML Kit 구성 요소를 통해 필요에 따라 알고리즘 모델을 비즈니스 프로세스(마이크로플로우)에 삽입할 수 있습니다. 또한 ONNX 모델 런타임은 Mendix 런타임 환경에 통합되어 애플리케이션과 알고리즘 모델이 하나의 배포 환경에서 동시에 실행될 수 있도록 보장합니다.

4.png

4. 적용 예시

여기서는 판매 예측을 위한 시나리오 애플리케이션을 구축하려고 합니다. 이 애플리케이션의 핵심은 알고리즘 모델과 데이터, 그리고 애플리케이션 경험입니다.

알고리즘 모델 및 데이터

Mendix 자체가 알고리즘을 제공하는 것이 아니라, 기업 자체의 알고리즘 모델 위에 알고리즘을 통합하여 실행하는 것입니다. 따라서 이 예에서는 Kaggle 커뮤니티의 경쟁 계획(링크 주소 https://www.kaggle.com/code/konradb/ts-4-sales-and-demand-forecasting/notebook)을 빌립니다.

과거 데이터는 Walmart가 3개 매장에서 제공한 지난 5년간 특정 제품의 판매 기록입니다.

5.png

알고리즘의 목표는 특정 시점부터 28일 동안의 과거 판매 기록과 특정 SKU의 판매량을 기반으로 예측 모델을 구축하는 것입니다.

인용된 경쟁 제안은 LGBM 모델 의 회귀 예측입니다 . 알고리즘의 RMSE는 150회의 훈련 후에 안정화됩니다.

6.png

공모전 프로그램인 파이노트(Pynote)를 다운받고, 코드를 읽어 알고리즘 선택 로직과 데이터 처리 로직을 이해해보세요. 본 프로그램에서는 지난 5년간의 판매실적에 대해 다음과 같은 특징을 추출합니다.

  • 제품, 매장, 제품 카테고리를 분류합니다. 즉, 정수 값으로 변환합니다.

  • 판매량에 대한 시계열 특성처리를 수행하고, 28일 전 판매량, 지난주 28일 전 시점의 평균 판매량, 지난 4주간의 28일 전 시점 평균 판매량을 선택한다.

  • 판매일을 월, 분기, 월일 등 3개의 정수값으로 분해

7.png

참고: 위의 특징 추출 과정은 나중에 Mendix에서 애플리케이션을 구축할 때 비즈니스 데이터를 전처리하는 과정이기도 합니다. 처리된 비즈니스 데이터만 알고리즘 모델의 입력으로 사용되어 예측 결과를 얻을 수 있습니다. 이 예에서는 단순성을 위해 원시 Python 코드를 사용하여 예측 데이터 세트에서 직접 기능 추출을 수행합니다.

모델 변환

Mendix ML Kit는 주류 모델 중간 형식인 ONNX 형식의 알고리즘 모델을 허용합니다. Pytorch, TensorFlow, ScikitLearn 및 Caffee와 같은 프레임워크의 모델에는 모두 ONNX 형식을 변환하기 위한 표준 도구가 있습니다. ONNX 형식 및 변환에 대한 자세한 내용은 Zhihu 기사를 참조하세요 .

원래 솔루션에서 알고리즘 모델을 훈련한 후 다음 Python 코드를 추가하여 모델을 ONNX 형식으로 변환하고 저장합니다.

8.png

일반적인 ONNX 변환 도구에는 다음 Python 패키지가 포함됩니다.

  • onnxml도구

  • 변환_sklearn

  • 토치.onnx

  • tf2onnx

실제 엔지니어링에서는 알고리즘 모델의 학습 프레임워크에 따라 적절한 도구를 선택하는 것으로 충분합니다.

모델 시각화

ONNX 형식의 모델의 경우 시각화 도구를 사용하여 모델의 입력, 출력 및 중간 연산자(연산자)를 직관적으로 이해할 수 있습니다.

여기서는 https://netron.app 온라인 웹사이트를 사용하여 이전에 저장한 ONNX 알고리즘 모델을 봅니다.

9.png

그림에서 모델의 입력은 길이가 10인 32비트 부동 소수점 배열이고, 출력은 단일 32비트 부동 소수점 값이며, 중간 연산자는 회귀 연산자임을 명확하게 볼 수 있습니다. . 입력 및 출력의 -1은 Batch 값을 나타내며 이 알고리즘 모델에서는 1입니다.

참고: 여기의 연산자는 변환 후 ONNX에 해당하는 구현 연산자이며 원래 알고리즘과 일대일로 일치하지 않을 수 있습니다. 내용 중 이 부분은 Mendix 본문의 범위에 속하지 않습니다. 관심이 있으시면 , 자세한 내용은 관련 정보를 읽을 수 있습니다.

모델 가져오기

ONNX 형식의 알고리즘 모델이 있고 시각화를 통해 모델을 직관적으로 이해하면 Mendix 환경에서 작업을 시작할 수 있습니다.

첫 번째 단계는 모델을 Mendix로 가져오는 것입니다. 기타 추가에서 ML 모델 매핑을 찾아보세요.

10.png

앞서 저장한 ONNX 형식 파일을 선택합니다.

11.png

import 후 위와 같은 매핑 관계가 얻어지고, 입력과 출력의 두 엔터티가 자동으로 생성됩니다.

12.png

관찰에 주의하세요. 입력 엔터티는 고유한 속성만 가지며 문자열 유형입니다. 이는 앞서 관찰한 알고리즘 모델의 길이가 10인 32비트 부동 소수점 배열과 일치하지 않습니다. 이 때문에 Mendix에서 모델을 호출할 때 데이터를 전처리하고, 10개의 부동 소수점 유형(Mendix에서는 Decimal을 사용함)이 포함된 Feature 필드를 문자열 유형으로 변환해야 합니다. 출력 엔터티에는 Decimal 유형 속성이 있어 추가 처리 없이 매출 예측 결과로 애플리케이션에서 직접 사용할 수 있습니다.

모델 호출 및 데이터 전처리

모델 호출의 기본 기능을 실현하기 위해 필요에 따라 다른 위치에서 호출할 수 있는 하위 마이크로플로우를 작성하십시오.

13.png

IDE 오른쪽에 있는 도구 상자에서 Call ML Model 구성 요소를 선택하고 가져온 모델 이름, 입력 및 출력 엔터티 개체를 구성합니다.

그 중 입력 엔터티 객체는 JavaAction을 통해 원본 비즈니스 데이터를 전처리해야 하며, JavaAction 입력은 10개의 기능 필드가 포함된 엔터티 객체이고 출력은 모델 매핑에서 지정한 ML_Input_Entity_LGBModel입니다.

JavaAction의 구현 논리는 다음과 같습니다.

14.png

참고: 숫자 값, 텍스트, 이미지, 오디오, 비디오 등 다양한 유형의 비즈니스 데이터의 경우 데이터 전처리 논리는 다르지만 고정된 방법이 있습니다. 이는 기계 학습 분야의 엔지니어가 마스터해야 하는 기술이므로 여기서는 자세히 설명하지 않습니다.

지금까지 예측을 위해 알고리즘 모델을 호출하는 하위 마이크로플로우의 구성이 완료되었습니다.

애플리케이션 디자인

다음으로 애플리케이션의 사용자 상호 작용 계층을 구축해야 합니다. 이 예에서는 다음 모듈을 설계했습니다.

  • 마스터 데이터 모듈: 상점, 상품 등의 마스터 데이터를 유지하는 데 사용됩니다.

  • 거래 데이터 조회 모듈: 과거 판매 기록, 예측할 기록 등을 조회하는 데 사용됩니다.

  • 데이터 가져오기 모듈: Excel 데이터세트에서 Mendix로 데이터를 가져오는 데 사용됩니다.

  • 판매 예측 그리기 모듈: 매장/상품 조합의 과거 판매 및 판매 예측을 그래픽으로 표시하는 데 사용됩니다.

15.png

결과 보여줘

마스터 데이터 유지 관리

16.png

데이터 가져오기

44ac2467-aef0-4e8f-a4a8-1540b7f0c1cf.png

거래 데이터 보기

판매실적.png

향후 매출 예측

판매특징.png

매출 예측 차트

차트.png

물론 위의 내용은 기본적인 표시 효과일 뿐 실제 비즈니스 애플리케이션에서는 판매 예측 결과를 조달, 창고 보관, 물류 및 기타 계획의 실행에 통합할 수 있으며 실현해야 하는 경우 Sub_Model_Call 하위 마이크로플로우를 호출할 수 있습니다. 비즈니스 프로세스를 알고리즘 모델에 내장하여 라스트 마일을 더욱 쉽게 만듭니다.

V. 요약

Mendix는 ML Kit 기반 기계 학습 알고리즘 모델 내장 구성 요소를 제공하고 Pytorch, Tensorflow, Scikitlearn, Caffee 및 기타 주류 교육 프레임워크를 지원하여 알고리즘 모델을 ONNX 형식으로 변환하고 애플리케이션으로 가져오고 필요한 경우 ML 모델 호출 구성 요소를 전달합니다. 비즈니스 프로세스 쉽게 호출됩니다. 이러한 방식으로 알고리즘 모델과 비즈니스 애플리케이션은 일련의 런타임 환경에 있으며, 독립적으로 실행되고 인터페이스를 통해 호출하는 기존 알고리즘 서비스에 비해 구성이 빠를 뿐만 아니라 호출 지연도 낮습니다. 통합 운영 및 유지 관리에 편리하며, 애플리케이션의 마지막 마일을 통과하고, 알고리즘 모델의 비즈니스 역량 강화를 실현합니다.

이 예에서는 엔드투엔드 개발 구현 참조를 제공합니다. 융합 알고리즘 모델에 대한 애플리케이션 개발 요구 사항이 있거나 이미 Mendix를 사용하고 있으며 알고리즘 모델을 통합하고 싶은 경우 댓글 영역에 연락처 정보를 남겨주시면 연락해 필요한 사항을 제공해 드리겠습니다. 돕다.

멘딕스 소개

고객이 모든 요구 사항이 충족되기를 기대하는 디지털 우선 세계에서 직원은 업무를 완수하는 데 더 나은 도구를 기대하고 기업은 완전한 디지털 혁신을 통해서만 생존하고 성공할 수 있다는 것을 깨닫습니다. Siemens 계열사인 Mendix Corporation은 기업의 디지털 혁신을 촉진하는 기업으로 빠르게 성장하고 있습니다. 업계 최고의 로우 코드 플랫폼과 포괄적인 에코시스템은 최첨단 기술을 통합하여 기업이 상호 작용을 개선하고 운영을 단순화하며 IT 병목 현상을 극복하는 솔루션을 만들 수 있도록 지원합니다. Mendix는 추상화, 자동화, 클라우드 및 협업이라는 네 가지 핵심 요소를 통해 개발자의 생산성을 크게 향상시켰으며 자체 엔지니어링 협업 기능과 직관적인 시각적 인터페이스를 활용하여 기술에 익숙하지 않은 수많은 "시민" 개발자를 지원합니다. 전문 분야에서 응용 프로그램을 만듭니다. Mendix는 권위 있는 업계 분석가의 관점에서 리더이자 비전을 제시하는 기업일 뿐만 아니라 클라우드 기반의 개방형, 확장 가능하고 민첩하며 검증된 플랫폼입니다. 인공 지능과 증강 현실부터 지능형 자동화와 기본 이동성에 이르기까지 Mendix는 디지털 우선 비즈니스의 중추가 되었습니다. Mendix의 엔터프라이즈 로우코드 플랫폼은 전 세계 4,000개 이상의 선도 기업에서 채택되었습니다.

Supongo que te gusta

Origin blog.csdn.net/Mendix/article/details/132664582
Recomendado
Clasificación