전체 글
-
Linear Regression에서 Forward 이해하기ML engineer/DIY Machine Learning 2024. 9. 14. 00:57
Linear Regression 이란?Linear Regression은 선형회귀라는 명칭으로 비단 ML이 아닌 영역에서도 많이 들어보셨을 수 있습니다.말 그대로, 어떤 모델이 데이터셋으로부터 linear(선형) 관계를 가정하고 그 임의의 선형식을 찾아가는(regression) 방법입니다.예를 들어, 택시 요금을 예측하는 모델을 만든다고 가정해 볼 때, 약 10만 건의 택시 이용 로그 데이터를 가지고 있다고 합시다. 각 택시 이용 로그는, 다음 네가지 feature를 가진다고 칩니다. 1. 이용 시각 및 날짜 (연-월-일-시:분:초) 2. 탑승 거리 (km) 3. 탑승 시간 (분) 4. 이용 요금 (원)Linear 관계를 가정한다라는건, 우리는 다음과 같은 linear equatio..
-
Gradient Descent 에 대한 이해ML engineer/DIY Machine Learning 2024. 8. 4. 19:10
배경머신러닝에 있어 매우 중요한 알고리즘인 gradient descent에 대해 알아봅시다.머신러닝, 신경망 네트워크, 딥러닝에 대해 이야길 듣거나 접했다면, 이런 것들이 대부분 gradient descent를 통해 학습되었을 정도로 중요한 알고리즘/방법론인데요,현업에서 종종 "모델이 상관관계를 학습 한다", "이 데이터에 대해 학습시켰다"와 같은 표현을 듣게 되는데요, 이런 표현들이 의미하는 근간에는 결국 gradient descent라는 알고리즘이 사용됩니다.알고리즘으로 풀고자 하는 문제는, $f(x) = x^2$ 에 대해 최소값을 찾는 문제라고 칩시다.즉, gradient descent 은 일종의 최적화 테크닉으로, 어떤 함수의 최솟값을 찾는 알고리즘/방법론입니다. (함수를 반전시키면 물론 최댓값을..
-
시리즈를 시작하며ML engineer/DIY Machine Learning 2024. 8. 4. 17:38
최근 몇 달간 팀에서 채용을 진행하게 되면서 나름 꽤 한다는(?) "경력직" ML 엔지니어들을 만나 봤지만, 다양한 백그라운드를 가진 분들을 만났습니다.저도 뭐 대단한 사람은 아니지만, 그래도 같이 일하는 동료들로부터 인정도 받고, 나름(?) 고학력에, 근본 있게 C로 모델 학습 하던 시절부터 머신러닝에 몸담아온 사람으로서 아쉬운 점들이 공통적으로 많이 보였습니다.우선 라떼는... 최근에는 머신러닝 유사 포지션들이 많아짐에 따라, 이론적인 기본기부터 탄탄하게 머신러닝을 접한 게 아니라, 협소적인 머신러닝을 접한 분들이 많았습니다.API 또는 이미 학습 완료된 모델을 이용한 단순 응용, ML ops, 다소 오래된 전통적인 통계적 접근 등 최근 우리가 머신러닝 혹은 딥러닝이라 부르는, 좀 더 나아가 언어모델..
-
IaaS / PaaS / SaaSML engineer/Papers & CS generals 2023. 9. 22. 01:07
🕓 2 mins read 업계에서 많이 쓰는 용어인데 잘 모르고 그냥 대충 알고 있기도 하고, 남용하기도 하는데 한번 확인 하면 좋을 것 같아 기록합니다. # 정의 IaaS : Infrastructure-as-a-Service PaaS: Platform-as-a-Service SaaS: Software-as-a-Service 이제.. 여기에서 좀 막나가는 경우도 종종 보입니다만.. 두루미-as-a-Service 식으로 아무거나 아무개-aaS 라고 이름 붙이기도 하는것 같습니다. # 비교 왼쪽 끝열을 보면 기존에 아무개-aaS 이전에는 그냥 다 직접 관리 했던 부분을 인프라 레벨에서부터 어플리케이션 레벨까지 클라우드화 해주는 서비스라고 보시면 됩니다. 클라우드 시대 이전 방식대로 직접 다 관리할 경우 장점..
-
[업계 이야기] chatGPT 와 LLM에 대한 생각ML engineer/NLP 2023. 2. 19. 14:26
🕓 5 mins read 이미 작년 연말에 공개되었지만, 내 주변의 도메인 관계자 외에는 이제야 뉴스를 통해 접했나 보다. 만나는 사람들 마다 chatGPT이야기를 하는 걸 보니.. 빅테크들의 수장들이, Yann LeCun, Geoffrey Hinton 정도 되는 AI 3 대장격인 사람들도 chatGPT에 대한 그들의 생각을 공유했지만, 어쨌든 나도 ML/ NLP 업계 종사자로서, 생각을 한번 적어 보지 않을 수가 없다. (너무 번역투였나?) # 그래서 정말 혁신인가? 기술적으로 대단은 하지만, 혁신은 글쎄... 사업적으로는 미지의 영역에 대한 과감한 투자, 비기술자의 관점에선 그저 신세계? 기술적인 관점에선 나 역시 같은 생각이다. 혁신?이라기엔 이미 오래전에(Attention is all you ne..
-
[Python] Pickle에 대한 오해와 Can’t Pickle local object Error 해결ML engineer/Papers & CS generals 2023. 2. 16. 00:42
🕓 5 mins read # Pickle의 오해 파이썬 라이브러리들을 사용하다 보면, 직접 사용하지 않더라도, pickle은 어떻게든 만날 수밖에 없는데, 단순히 파일이나 오브젝트를 저장하고 불러올 때뿐만 아니라 어떤 객체를 프로세스 간에 공유하거나 전달할 때도 쓰입니다. 이때 pickle의 원리를 모를 경우 Attribute Error 혹은 PicklingError를 다음과 같은 형태로 만나면 당황스러울 수 있습니다. (문제없는 거 같은데 대체 왜!?) PicklingError: Can't pickle : it's not the same object as class.method.var AttributeError: Can't pickle local object 'class..some_var' 특히 파이썬..
-
[coding] Notes on space complexityML engineer/Papers & CS generals 2023. 2. 6. 00:19
🕓 4 mins read # Notes on SW developer recruiting Although we are not hiring at the moment, the last year was a year of heavy recruiting. I'm currently a senior ML engineer and I've been involved in quite a few technical(a.k.a. coding tests) interviews over the last 2 years. I was pretty surprise to see that many fresh grad candidates were well prepared for the most of the tree/graph traversal pr..
-
Korean Language Model - 데이터 전처리ML engineer/NLP 2023. 2. 4. 23:37
🕓 5 mins read# 전처리를 하는 이유최소한의 전처리를 통해 언어모델에 불필요한 요소를 배제하고, 위험 요소를 걷어 냅니다. 물론 모델 뿐만 아니라 빈도 기반의 토크나이저를 학습할때도 도움이 되죠.사실 언어 모델의 규모를 키우고, 데이터를 키우게 되면 범용 LLM(Large Language Model)에선, 전처리에 공을 들이는것 보다는 원래 텍스트를 그대로 가지고 있는것이 데이터의 다양한 형태를 분석하고 생성할 수 있기 때문에 좋을 수 있습니다.하지만 여기선 대화 분석/생성등에 특화된 대화 모델을 만드는것을 목표로 하고 있기 때문에 전처리를 할 필요가 있습니다.작은 규모의 모델/데이터 하에서 노이즈로 작용할 수 있는 불필요한 패턴 제거특수 토큰 처리 (개인정보 마스킹, 대화 데이터 화자 구분자..