Data over code?
(1) Move to data-driven AI
In the meantime, the spotlight of AI development has mainly focused on the model (Model) side. CNN, Transformer, and GPT, which have been mentioned in other content, are models. Recently, however, changes have begun to occur in this huge trend that has been going on for a long time.
Last March 2021, Andrew NG (Andrew NG) 'Machine learning system development: model centered on data(A Chat with Andrew on MLOps: From Model-Centric to Data-Centric AI)'A seminar called * will be held. In the field of AI, which has been biased towards model research 'Data-centric (data-centric) AI'It raised a new topic. It indicates that the time has come to pay more attention to data, not just models.
Ng is known as a world-renowned AI guru along with Yann André LeCun (Yann André LeCun), Yoshua Bengio (Yoshua Bengio), and Geoffrey Everest Hinton (Geoffrey Everest Hinton). He is a professor at Stanford University and the founder of Coursera (Coursera), pioneered the era of deep learning by leading Google Brain, and recently founded a high-profile startup called Landing (Landing) AI. He is like this “AI will continue to evolve around data rather than model center.”It was a declaration.
Model-driven AI? Data-driven AI?
AI systems Code (Model/Algorithm)with dataIt consists of So the approach to AI research 'Model-centric (Model-centric) AI'with 'Data-centric (data-centric) AI'You can share it with This includes AI “Is it developed by code or algorithms?”, or “Is it because of the systematization of data?”There is a fundamental difference in perspective.
Data is food for AI
Data is the form of AIIt's called.
usually 80% of AI projects are used to prepare high-quality materials, or data, and the remaining 20% is used to train models. As such, data accounts for a large share of AI development. But ironically 99% of AI research improves modelsI'm only talking about, just Only 1% of studies are dataIt is said to be about
As such, the importance of data (compared to actual weight) has been overlooked. To exaggerate a bit, most of them were just tearing up the code. However, through this seminar, Andrew Ng “What actually increases AI performance is not an improvement in code, but an improvement in data.”He said, “Let's take a moment.”
Model improvements vs. data improvements, actual results?
In the chart above, when the model's Hyper parameter (Hyper parameter) ** was adjusted, the baseline model (Baseline model) *** recorded 76.2% accuracyCompared to one, A whopping 93.1% accuracy was recorded when the data was improvedI can confirm one thing. In his experience, this was actually often the case, and he said that there were quite a few cases where better results were produced by improving only the data (without touching the code).
The importance of consistent data labels
What is a consistent label Identical data is labeled the same no matter who works on itIt means Let's take data used in voice recognition (ARS) system development as an example. If you have data labeled in the following 3 ways, which one is correct?
1) “Um, today's weather”
2) “Um... today's weather”
3) “Today's Weather”
According to Ng, all three are fine. solely Consistently (Consistently) UnifyIt must be. This is because models trained with inconsistently labeled data are more likely to perform poorly.
This is a minor part that you might ignore if your opponent is human. However, when targeting AI, a completely different situation could happen. Some data has' Um ', and if it doesn't, it's bound to be confusing from an AI standpoint (which relies on data learning).
How to improve systematic data consistency
# Request labeling of sample data from 2 independent workers
# Measure how consistent the labelling of the two workers is.
# Revise guidelines for mismatched parts and repeat until consistent labeling results are obtained.
In this way, data collection and processing using crowdworkers is an essential process even in the actual field. In fact, the LETR team also had experience putting a lot of crowdworkers into the project. As such, this is a part that can actually help a lot.
Correlation between data quantity and quality
위 도표를 보면 데이터 양과 질의 상관관계를 확인할 수 있습니다.
# 적은 데이터(Small data)와 일관성없는 라벨링(Noisy label)은 모델이 올바른 결정 곡선(Decision curve)를 찾을 수 없게 만든다.
# 많은 데이터가 있다면, 일관성없는 라벨링이 있어도 올바른 결정 곡선을 찾을 수 있다.
# 또는 적은 데이터만 있어도, 일관성있는 라벨링을 통해 올바른 결정 곡선을 찾을 수 있다.
그렇다면 만약 500개의 데이터가 있고, 이 중 60개 데이터의 품질에 문제가 있어 성능에 안좋은 영향을 주는 경우에는 어떻게 해결해야 할까요? 그런 경우 다음 2가지의 방법을 선택할 수 있다고 합니다.
# 문제가 있는 데이터 레이블을 수정한다.
# 또는 500개의 새로운 데이터를 수집해 학습 데이터를 두 배로 늘린다.
하지만 새로운 양질의 데이터를 추가하는 것보다 문제가 있는 일부의 데이터를 개선하는 것이 훨씬 효율적인 방법입니다.
위 도표는 깨끗한 데이터와 노이즈가 있는 데이터를 갖고 모델을 학습시켰을 때의 결과를 비교한 것입니다. 노이즈가 있는 데이터로 학습해서 같은 성능을 내려면 2배 이상의 데이터가 필요하다는 것을 알 수 있죠. 즉 데이터의 양보다 질을 높이는 것이 훨씬 효율적인 방법이라는 것입니다.
그렇다면 좋은 데이터란?
# 일관성있게 라벨링된 데이터(레이블 정의가 명확한)
# 중요한 케이스가 포함된 데이터(입력값에 대한 good coverage)
# Production data로부터 제때에 피드백을 받은 데이터(Data drift****와 Concept drift*****를 포함해 분포된)
# 적절한 사이즈의 데이터
데이터 개선의 체계화 방법
응은 데이터 개선을 위해 위 도식과 같이 3가지 절차를 체계화할 것을 제안합니다.
# 모델 학습시키기
# 알고리즘에 오류가 발생하는 데이터의 타입 확인하기
# 해당 데이터를 더 많이 수집하거나, 데이터 레이블을 더 일관성있게 수정하기
즉 한번 데이터를 학습시켰다고, 시스템 개발이 끝난 것은 아니라는 것입니다. 지속적으로 데이터를 수집하고, 분석하고, 수정하는 사이클을 구축해야 하죠. 결국 양질의 데이터를 얼마나 일관성있게 확보하느냐가 관건인 것입니다.
마무리하며
앤드류 응은 최근 등장해 주목받는 개념인 MLOps(MachineLearning Operations)를 언급하며 세미나를 마무리합니다.
MLOps: 일관성있게 양질의 데이터를 유지하는 것(Ensuring consistently high quality data)
MLOps의 최우선 태스크는 고품질의 데이터를 프로젝트의 전 과정에 걸쳐 일관되게 공급해야 한다는 거죠. 이를 통해 단순 빅 데이터(Big Data)에서 좋은 데이터(Good Data)를 활용하는 것이 가능해질 수 있기 때문입니다.
이후로도 응은 계속해서 ‘데이터 중심 AI’를 강조하고 있습니다. 그동안 연구자들이 모델 개발에 엄청난 노력을 기울여왔고, 이미 공개된 모델만 갖고도 충분히 좋은 성능을 낼 수 있다고 이야기하죠. 하지만 데이터에 관해서는 아직 가야 할 길이 멀다고 보는 것 같습니다.
이번 글은 여기서 마무리하겠습니다. 다만 이론과 실제는 다르기 때문에, 응의 세미나 내용을 살펴보는 것 만으로는 조금 부족할 것 같습니다. 이어서 다음번에는 실제 AI를 도입하고(해야) 하는 현장의 상황을 들여다보고, AI 서비스를 공급하는 입장에서 데이터 중심 접근에 대한 LETR팀의 생각과 대응에 대해서도 간단히 소개해보겠습니다.
* A Chat with Andrew on MLOps: From Model-centric toData-centric AI 출처: https://youtu.be/06-AZXmwHjo
** 머신러닝에서 하이퍼파라미터는 최적의 훈련 모델을 구현하기위해 모델에 설정하는 변수로 학습률(Learning Rate), 에포크 수(훈련 반복 횟수), 가중치 초기화등을 결정할 수 있습니다. 또한 하이퍼파라미터 튜닝 기법을 적용하여 훈련 모델의최적값들을 찾을 수 있습니다. 출처: https://ittrue.tistory.com/42
*** 예측 모델을 구체적으로 만들기 전에 가장 간단하면서도 직관적이면서 최소한의 성능을 나타내는 기준이되는 모델 출처: https://velog.io/@choidb65/기준모델Baseline-Model
**** 입력 데이터(특징량, 설명변수)에서 부터 예측하려고 하는"정답 라벨(목적 변수)"의 의미/개념/통계적 특성(즉 데이터와라벨의 관계성, 데이터의 해석 방법)이 모델 훈련때와 비교하여 변화가 있음을 의미한다. 출처: https://engineer-mole.tistory.com/278
***** 모델의 훈련시 "입력 데이터(특징량, 설명변수)"의 통계적분포와 테스트 시/ 실제 배포 환경에서의 "입력 데이터"의 통계적분포가 어떠한 변화에 의해 차이가 발생하고 있는 것을 의미한다. Feature drift나 Covariate shift라고 불린다. 출처: https://engineer-mole.tistory.com/278
References
[1] Andrew Ng, “MLOps: From Model-Centric AI to Data-Centric AI” (Video) https://www.youtube.com/watch?v=06-AZXmwHjo&t=769s
[2] Andrew Ng, “MLOps: From Model-Centric to Data-Centric AI” (pdf) https://www.deeplearning.ai/wp-content/uploads/2021/06/MLOps-From-Model-centric-to-Data-centric-AI.pdf
[3] https://read.deeplearning.ai/the-batch/issue-84/
[4] [mLOps] Andrew Ng: From Model-Centric AI to Data-Centric AI https://jaemunbro.medium.com/mlops-model-centric-ai에서-data-centric-ai로-5c8a1c389b8e
[5] Focus on more data, with a smaller model! https://brunch.co.kr/@synabreu/117
Good content to watch together
[AI Story] Crucial Moments of Artificial Intelligence 1[AI Story] Crucial Moments of Artificial Intelligence 2[AI Story] Crucial Moments of Artificial Intelligence 3