일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 케라스
- fairness
- 챗지피티
- 신뢰성
- Bert
- trustworthiness
- GPT
- DevOps
- Ai
- 인공지능 신뢰성
- Tokenization
- ChatGPT
- ML
- nlp
- 인공지능
- 챗GPT
- word2vec
- 트랜스포머
- cnn
- 지피티
- AI Fairness
- MLOps
- XAI
- 설명가능성
- 자연어
- 딥러닝
- Transformer
- 머신러닝
- GPT-3
- gpt2
- Today
- Total
목록머신러닝 (14)
research notes
데이터 세트의 각 feature 값 범위가 크게 다를 경우 학습시에 손실함수가(loss function) 제대로 동작하지 않을 수 있으며, 경사하강법이(gradient descent) 피쳐 스케일링을 사용하지 않을 때보다 훨씬 빠르게 수렴하기 때문에 피쳐 스케일링 사용이 권고된다. e.g.) x1 = size (0-2000 feet), x2 = number of bedrooms (1-5) 해당 feature 값의 범위에서 생성된 손실함수의 등고선을 분석해보면 큰 범위 차이로 인해 세로로 크고 얇은 모양을 나타낸다. 이런 종류의 손실함수에서 경사하강법을 실행하면 전역 최소값을(global minimum) 찾는 데 오랜 시간이 걸릴 수 있다. *** 표준화 및 정규화 *** 표준화(Standardizatio..
1. 파이썬 모듈은 크게 표준 모듈과 외부 모듈로 나뉜다. - 표준모듈: 파이썬에 기본적으로 내장되어 있는 모듈 - 외부모듈: 다른 사람들이 만들어서 공개한 모듈 2. 모듈을 가져 올 때는 다음과 같은 구문을 사용 import 모듈 이름 ex) import math: 수학과 관련된 기능을 가진 math 모듈사용 >>> math.sin(1) 0.8414709848078965 3. from 구문 모듈에는 많은 변수와 함수가 들어가 있다. 하지만 그 중에서 우리가 활용하고 싶은 기능은 극히 일부 일 수 있으며, math.cos(), math.sin(), math.pi 처럼 앞에 무언가를 계속 입력하는 것이 번거로울 수 있다. 이 때는 아래와 같이 from 구문을 사용한다. from 모듈 이름 import 가져..
각 개인 또는 기업의 요구사항 및 제한사항에 따라 여러 오픈소스 라이브러리를 활용하여 자체적인 MLOps 시스템을 구축할 수 있다. 현재 MLOps 관련하여 다양한 도구들이 매일 빠르게 개발 및 활용되고 있기 때문에 이러한 시스템을 구축하려면 MLOps 도구 환경에 대한 이해가 있어야 한다. 이와 관련하여 Linux Foundation의 LF AI 프로젝트는 아래와 같이 ML/AI 및 MLOps 도구에 대한 Landscape를 제시하였다. References: [1] https://ml-ops.org/content/state-of-mlops [2] https://landscape.lfai.foundation/
** 한국산업기술진흥원(KIAT), AI 개발의 혁신견인차, 'MLOps'란 참고하여 작성 ** 1. MLOps란 - MLOps라는 용어가 처음 등장한 곳은 2015년 공개된 ‘ML 시스템에 숨겨진 기술 부채(Hidden Technical Debt in Machine Learning Systems)’ 논문 - 데이터 관리 및 ML 시스템 개발과 서비스 운영(Operations)을 통합해 안정적으로 상품·서비스를 출시할 수 있도록 신속·유연한 개발을 추구하는 협업 방식 - 개발, 통합, 테스트, 출시, 배포, 인프라 관리 등 ML 시스템 구성의 모든 단계에서 모델 재학습 자동화 및 모델 모니터링을 지원하며 ML 모델 라이프사이클을 관리 2. MLOps의 부상과 기업현실 AI 시장 확대로 사진, 동영상, 텍..
머신 러닝 실무자, 머신 러닝 프로젝트 관리자, 기술 회사 경영진을 포함하여 약 750명을 대상으로 한 설문조사에 따르면 (2020 state of enterprise machine learning, Algorithmia) 응답자의 절반은 회사에서 ML 모델을 배포하는 데 1주일에서 3개월이 걸린다고 응답하였고, 약 18%는 3개월에서 1년이 걸린다고 응답하였다. 또한, 보고서에 따르면 ML 기능을 개발할 때 직면하는 주요 과제는 규모(Scaling), 버전 제어(Versioning), 모델 재현성(Repreducticibility)이다. 1. 머신러닝은 기존의 소프트웨어와 어떻게 구분이되는가? (Data-centric) - 머신러닝을 기존 소프트웨어 영역과 구분짓는 기준은 바로 데이터다. 소프트웨어 개..
1. 데브옵스의 시작: 1990년대로 넘어오면서 기존의 복잡하고 무거운 개발 방법론에서 벗어나 좀 더 가볍고 유연한 접근 방법을 시도하면서 다양한 SW 개발 방법론들이 본격적으로 소개되기 시작되었다. 이러한 경량화 개발 방법론을 논의하기 위해 당대 내노라 하는 이들 개발자들이 모여 경량화 방법론에서 논의한 끝에 애자일 소프트웨어 개발의 목적과 가치를 애자일 선언문 형식(Agile Manifesto, 2001)으로 발표하면서 본격적으로 탄생하였다. 애자일은 전통적이지만 무거운 폭포수 방법론 대신 빠르게 개발하는 접근 방식으로 2000년대 IT 전성시대를 구가하는데 이바지하였다. 그러나 시스템 규모가 커지고 복잡해지면서 보다 안정적인 운영을 필요로 하게 되고 빠른 개발 방식에도 태클이 걸리기 시작하였고, 빠..
1. 결정트리 개요 if-else(규칙조건)를 자동으로 찾아내 예측을 위한 규칙을 만드는 알고리즘으로 이해하면 된다. 결정트리는 정보의 ‘균일도’라는 룰을 기반으로 트리를 분할하며, 알고리즘이 쉽고 직관적이다. ‘균일도’를 측정하는 대표적인 방법은 엔트로피를 이용한 정보이득(Information Gain)지수와 지니 계수가 있다. 트리의 깊이(Depth)가 깊어질수록 결정 트리의 예측 성능이 저하될 가능성이 높다. 결정 트리 장점 결정 트리 단점 쉽다. 직관적이다 피처의 스케일링이나 정규화 등의 사전 가공 영향도가 크지 않음 과적합으로 알고리즘 성능이 떨어진다. 이를 극복하기 위해 트리의 크기를 사전에 제한하는 튜닝 필요 2. 균일도 결정트리를 분할할 때 최대한 균일한 데이터 셋을 구성할 수 있도록 분할..
1. 차원의 저주 차원이 커질수록 데이터 포인트들간 거리가 크게 늘어나고 데이터가 희소화(Sparse)됨 수백~수천개 이상의 피처로 구성된 데이터 포인트들간의 거리에 기반한 ML 알고리즘이 무력화 됨 또한 피처가 많을 경우에 개별 피처간에 상관관계가 높아 선형회귀와 같은 모델에서는 다중 공선성 문제로 모델의 예측 성능이 저하될 가능성이 높음 다중공선성 문제: 독립변수간의 상관관계가 매우 높아 하나의 독립변수의 변화가 다른 독립변수에 영향을 미쳐 결과적으로 모델이 불안정하게 되는 것을 의미한다. 2. 차원축소의 장점 만약 수십~수백개의 피처들을 작은 수의 피처들로 축소한다면? 학습 데이터 크기를 줄여서 학습시간 절약 불필요한 피처들을 줄여서 모델 성능 향상에 기여 (주로 이미지 관련 데이터) 다차원의 데이..
1. K-Means Clustering 군집 중심점(Centroid)이라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법 먼저 군집화의 기준이 되는 중심을 구성하려는 군집화 개수만큼 임의의 위치에 가져다 놓는다. 전체 데이터를 2개로 군집화하려면 2개의 중심을 임의의 위치에 가져다 놓는 것이다. 임의의 위치에 군집 중심점을 가져다 놓으면 반복적인 이동 수행을 너무 많이 해서 수행 시간이 오래 걸리기 때문에 초기화 알고리즘으로 적합한 위치에 중심점을 가져다 놓지만, 여기서는 설명을 위해 임의의 위치로 가정한다. 각 데이터는 가장 가까운 곳에 위치한 중심점에 소속된다. 이렇게 소속이 결정되면 군집 중심점을 소속된 데이터의 평균 중심으로 이동한다. 중심점이 이동했기 때문..
If you want to build a solid model you have to follow that specific protocol of splitting your data into three sets: One for training, one for validation and one for final evaluation, which is the test set. The idea is that you train on your training data and tune your model with the results of metrics (accuracy, loss etc) that you get from your validation set. Your model doesn't "see" your vali..