본문 바로가기

전체 글61

[소개] ONNX 란? 들어가며.. Deep learning 모델을 서빙해 본 사람이라면 ONNX를 들어봤으리라 생각한다. ONNX는 다른 DNN 프레임워크 보다 추론 속도가 빠르고 성능도 거의 똑같이 유지된다. 그 외에도 여러 장점들이 존재하기 때문에 많은 데이터 사이언티스트 또는 데이터 분석가들은 ONNX에 대해 알아두면 큰 도움이 될 것이다. ONNX 란? ONNX는 Open Neural Network Exchange의 줄인 말로서 이름과 같이 다른 DNN 프레임워크 환경(ex Tensorflow, PyTorch, etc..)에서 만들어진 모델들을 서로 호환되게 사용할 수 있도록 만들어진 공유 플랫폼이다. ps. ONNX 또한 DNN 프레임워크라고 부른다. ONNX는 다음과 같은 장점을 갖는다. 장점 ① : Framewo.. 2022. 7. 27.
[소개] 초거대 언어 모델이란? 들어가며.. 최근 여러 대기업에서 자신들이 만든 초거대 언어 모델을 소개하며 홍보하는 걸 자주 접할 수 있다. 물론 해당 분야에 관심이 있는 사람들만 접할 수 있었겠지만 본 포스팅을 읽는 독자들은 접했으리라 믿는다. 대기업들은 왜 초거대 언어 모델을 만드는지, 왜 초거대 언어 모델이 필요한지, 초거대 언어 모델의 장점은 무엇인지 본 포스팅에서 소개하도록 하겠다. 초거대 언어 모델이란? AI라고 부르는 인공지능은 간단히 말하면 일종의 함수(y = f(x))이다. 챗봇을 예로 들면 발화자의 말이 text로 변환되어 함수의 x로 들어가 인공지능이라는 함수 내부에서 여러 계산이 이루어진다. 계산의 결과는 y로 발화자의 말에 대답하는 text가 된다. 그렇다면 왜 여러 대기업에서 파라미터가 5,000 억개, 1조.. 2022. 7. 16.
[소개] Deep Learning Compiler 란? 들어가며.. 현대를 살아는 대부분의 사람들이 자주 접하는 AI 기술은 챗봇이지 않을까? 챗봇 기술은 대부분 작은 기기에 내장되어 동작한다. 우리가 흔히 접할 수 있는 예로는 '인공지능 스피커', '시리', '빅스비' 등이 있다. 인공지능을 자주 접한 사람, 그 중 초거대 언어 모델에 대해 조금이라도 들어본 사람이라면 이런 의문이 들 수 있다. '아니 이렇게 작은 기기에서 어떻게 챗봇이 동작할 수 있을까?' 이 의문의 답이 바로 본 포스팅에서 소개할 'Deep Learning Compiler' 이다. 초거대 언어 모델이란? 필자가 포스팅한 아래 링크를 참고하길 바란다. https://beeny-ds.tistory.com/21 [소개] 초거대 언어 모델이란? 들어가며.. 최근 여러 대기업에서 자신들이 만든 .. 2022. 7. 16.
[소개] Continual Learning 이란? 들어가며.. AI 기술이 여러 산업에 적용이 되며 반복이 필요한 업무의 공수가 줄어들고 있다. 즉, RPA(Robotic Process Automation)가 필요한 industry에는 대부분의 기업이 AI 기술이 들어간 SW를 사용하고 있고 있고 꾸준한 니즈가 있다고 할 수 있다. 이때 문제가 되는 영역은 AI 모델의 노후화(⊂유지º관리)이다. AI 모델의 노후화를 어렵게 생각할 필요가 없다. 간단한 응용 예시를 들어보자. 'A' 씨는 칼럼을 정리하는 일을 하고 있다. 'A' 씨는 칼럼을 ['경제', '문화', '사회', '기타']로 분류하고 있다. 사장이 'A' 씨에게 말한다. "우리 스포츠 칼럼도 받아볼까?" 'A' 씨는 멘붕에 빠진다. '스포츠' 칼럼이 생기면 '기타' 로 분류하고 있던 칼럼을 다.. 2022. 7. 15.
[Package] 파이썬 코드 패키지화 → setup.py 들어가는 글 파이썬을 사용하다 보면 사용하고자 하는 패키지를 다운로드 할 때 'pip install {package_name}' 를 써 본적이 있을 것이다. middle level user의 경우, 패키지 내부를 수정해서 자신이 원하는 목적에 맞게 수정한 경우가 많을 것이다. 이때 자세히 살펴보는 코드가 github으로 배포된 코드인데 간혹 setup.py 스크립트를 보고 '이게 뭐지..?' 생각했다면 본 포스팅을 살펴보길 권장한다. 모듈과 패키지 setup.py를 살펴보기 앞서 모듈과 패키지가 무엇인지 소개하고자 한다. 소개 글은 ( link )의 글을 인용했다. 프로그래밍은 문제를 해결하는 과정을 프로그래밍 언어로 표현한 것이다. 그리고 대부분의 문제들은 다시 반복되며 우리는 이를 해결하기 위해 한 .. 2022. 7. 11.
[Code review] Sentence-Transformers 비교 hug/trans Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers & hug/trans 학습 방법 병합 학습 병합 유무: 불가능 학습하는 Process가 hug/trans의 Trainer class와 Sentence-Transformers의 SentenceTransformer class에서 fit 메서드와 다르기 때문. hug/trans .. 2022. 7. 8.
[Code review] Sentence-Transformers 상세 기능 Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers > Loss BatchAllTripletLoss BatchHardSoftMarginTripletLoss BatchHardTripletLoss BatchSemiHardTripletLoss ContrastiveLoss 두 emb. vector 간 거리(유클리드, 코사인, 맨하탄.. 2022. 7. 8.
[Code review] Sentence-Transformers 검증 및 예측 Process Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers > eval process Data read - Eval datasets format에 맞춰 read Model load - Sentence_Transformers로 학습된 모델 불러오기 - 만약 Sentence_Transformers로 학습되지 않았다면 Eval 불가능 E.. 2022. 7. 6.
[Code review] Sentence-Transformers 학습 Process Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers > train process DataLoader - InputExample class 사용하여 생성 - 생성한 객체를 list로 감싼 뒤, PyTorch DataLoader에 인자로 넣어 사용 Model definition - models 폴더에서 model 구조 선택 - .. 2022. 7. 5.
[Code review] Sentence-Transformers 훑어보기: 구조 Sentence-Transformers (UKPlab) Sentence embedding 관련 패키지 리서치 중 Sentence-Transformers Github 코드를 자세히 살펴볼 기회가 생겼다. 해당 패키지의 구조부터 자세한 상세 기능, 그리고 BERT 모델 사용 시 HuggingFace Transformers 와의 호환성까지 살펴보려 한다. Gihub Link Documents Link Sentence-Transformers 패키지 구조 📂sentence-transformers |-📂cross_encoder ## output 형태가 Classifier layer에서 나오기 때문에 STS or NLI 학습 & 검증 용으로 사용 |-📄CrossEncode.py |-📂datasets ## 학습 데이터.. 2022. 7. 4.
반응형