썸네일 [paper review] RAG의 시작 Retrieval-Augmented Generation for Knowledge-Intensive NLP TasksRAG Paper Review [link]Abstractpretrained parametic보통 GPT3나 T5같은 Parametric Impricit knowledge기반의 모델들은 모델 내부에 지식을 암시적으로 저장한다. 대형 데이터셋으로 사전 학습된 언어모델로 학습과정에서 획득한 지식은 내부 parameter에 저장된다. 학습 과정을 거쳐 이미 셋팅된 파라미터들이기에 재학습없이 생성과정에서 사용자가 지식 수정이 불가능하고 모델이 학습시에 보지 못한 정보를 추론해야할때 실제 지식과 관련없는 할루시네이션 문제가 발생한다는 문제점이 존재한다.non-parametric그런 반면 DrQA, OR..
썸네일 [ML/DL] 소프트맥스 회귀/다항 로지스틱 회귀 소프트맥스 회귀는 다중 클래스에서 회귀를 사용할때 많이 사용되는 방법이다. 각 특징값에 해당하는 가중치들을 각 특징값과 곱해준 값들을 더해주어 각 클래스 k에 대한 점수를 계산한다. 그러면 점수가 클래스 마다 1개씩 나오므로 총 k개가 나올 것이다. 이 k개의 점수들을 softmax 함수에 넣고 softmax값을 획득한다. 이렇게 되면 k개의 softmax값의 합은 1이 되는 다중 클래스 회귀가 된다. 로지스틱 회귀와 마찬가지로 기본적으로 소프트맥스 회기 분류기는 추정 확률, 즉 softmax값이 가장 높은 클래스를 선택한다.
썸네일 [ML/DL] Entropy, CrossEntropy, KL divergence 개념 정리 KL divergence 예측 분포의 엔트로피와 실제 분포에 대한 엔트로피간의 차이 측정 measure Entropy 불확실성을 수식으로 나타냄 (엔트로피가 높다는 것은 불확실한 정보가 많다는 것) (주사위의 엔트로피가 동전의 엔트로피보다 높음.) CE Loss 내가 예측한 분포와 실제 분포로 구성된 함수로 내가 예측한 분포에 대한 엔트로피 Reference https://velog.io/@rcchun/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%ED%81%AC%EB%A1%9C%EC%8A%A4-%EC%97%94%ED%8A%B8%EB%A1%9C%ED%94%BCcross-entropy [머신러닝] 크로스 엔트로피(cross entropy) 엔트로피는 불확실성의 척도로 정보이론에서의 엔..
썸네일 [NLP] 라마(LLaMA) 정리 Introduction 라마는 메타(Meta)가 만들어낸 초거대 Language model로 2023년 2월 24일에 공개되었다. Meta가 만든 Langauge model 의 첫 시작은 아니었다. 첫 시작은 OPT라는 모델이었는데, GPT3와 모델 크기가 같지만 성능은 그만큼 잘 나오지 않아서 논문에 자랑보다는 왜 성능이 안나오는지에 대한 고민이 많다. 그렇게 OPT이후에 나온 모델이 라마이다. 라마와 OPT가 나온 시기적 차이사이에는 딥마인드의 친칠라 모델 논문에서 언어모델이 학습 데이터를 충분히 투입하지 않아 덜 학습된 것 같다는 주장이 있었다. 라마도 이 아이디어를 적용해 GPT3의 모델 크기는 반도 안되지만 데이터를 4배 더 투입하여 이전보다는 좋은 성능을 내는 모습을 보여주었다. 라마1은 4가..
썸네일 Colab 단축키 정리 [실행 관련 단축키] 1. Ctrl + Enter = 해당 셀을 실행하고 커서를 해당 셀에 두는 경우 (결과 값만 보고자 할 때) 2. Shift + Enter = 해당 셀을 실행하고 커서를 다음 셀로 넘기는 경우 (여러가지 값을 빠르게 출력할 때) 3. Alt + Enter = 해당 셀을 실행하고 셀을 삽입한 후 커서를 삽입한 셀로 넘기는 경우 (다음 작업 공간이 없을 때) [셀 삽입/삭제 관련 단축키] Ctrl + M A = 코드 셀 위에 삽입 Ctrl + M B = 코드 셀 아래 삽입 Ctrl + M D = 셀 지우기 Ctrl + M Y = 코드 셀로 변경 Ctrl + M M = 마크다운 셀로 변경 Ctrl + M Z = 실행 취소 (*MAC을 사용하는 경우 Ctrl 대신 Command) 기본적인 ..
썸네일 [ML/DL] CNN 알고리즘 CNN 알고리즘 CNN은 Convolution과 Pooling을 반복적으로 사용하면서 불변하는 특징을 찾고, 그 특징을 입력데이터로 Fully-connected 신경망에 보내 Classification을 수행합니다. CNN 알고리즘 - Convolutional Neural Network (합성곱 신경망) 이미지를 분석하기 위해 패턴을 찾는데 유용한 알고리즘으로, 이미지를 직접 학습하고 패턴을 사용해 이미지를 분류한다. CNN의 핵심적인 개념은 이미지의 공간정보를 유지하며 학습한다는 것이다. CNN은 필터링 기법을 인공신경망에 적용함으로써 이미지를 더욱 효과적으로 처리하기위해 제안되었으며 현재 딥 러닝에서 이용되고 있는 형태의 CNN이 제안되었다. 기존의 필터링 기법은 고정된 필터를 이용하여 이미지를 처리..
썸네일 [GitHub] gitignore에 추가했는데 계속 Changes에 남아있는 경우 해결 방법 너는 무시하라고 했지만 git은 이미 변화를 감지하고 있기때문에 생기는 일이다. solution git rm -r --cached . git add . git commit -m "Fix untracked files" git push
썸네일 부스트캠프 두런두런 후기글 부캠의 힐링타임을 담당하시는 변성윤 마스터님의 두런두런 후기글을 짧게라도 적어보려 한다. 두런두런이 무엇이냐에 대한 짧은 설명을 하자면, 부스트캠프 AI Tech에서 러닝 마스터를 맡고 계시는 변성윤 마스터님께서 힘든 내용을 함께 고민해 주시고 취업이나 학습에 대한 이야기를 해주시는 시간이다. 보통 수요일에 진행되는데 빡 집중하기보다는 가볍게 들어도 힐링할 수 있는 그런 소중한 시간이다. Do Learn Do Run이라서 두런두런 시간이다. 사실 많은 분들께서 변성윤마스터님을 블로그에서 마주쳤다고 이야기하시는데 내가 기억하는 메타몽의 첫 만남은 부캠을 참여하기 이전 부캠 참여여부를 고민할때쯤 네이버 부캠 후기글을 읽던 중이었다. 부캠 내에는 두런두런이라는 활동도 있다는 것을 그때 처음 알았고, 그래서 그..
썸네일 알아두면 너무나도 좋을 Mac 단축키 finder 를 열고 command + ⬆️ 를 입력해서 가장 상위 폴더로 이동할 수 있습니다. shift + cmd + . 을 입력해서 숨김 폴더를 보이게 처리할 수 있습니다.
썸네일 [Docker] exposing port TCP Error 에러 메세지 Error response from daemon: Ports are not available: exposing port TCP 도커에서 MySQL을 실행하려던 중 docker run --name mysql-tutorial ~~~ 를 입력하였는데 docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: address already in use. 이런 에러 메시지가 나왔다. 3306이라는 포트를 내가 이미 사용하고 있으니까 쓸 수 없다는 소리다. 해결방법 3306 포트를 쓰고 있는 프로세스를 kill 하고 다시..
썸네일 [Linux] csv에서 특정 열을 count 하기 1. 일단 csv가 있는 위치로 이동을 한다. 2. 명령어를 친다. 아래의 명령어를 설명하자면, csv파일 이름이 BE1.csv였으며 특정 열은 2번째 있는 열이었다. (단, 여기서는 0부터 세는 것이 아닌 1부터 센다.) cat BE1.csv | awk -F, '{print $2}'| sort -n | uniq -c awk는 스크립트 언어인데 grep과 비슷하게 표준입력이나 파일로부터 입력을 받고 파싱 해서 원하는 결과를 얻어내는 데 사용된다. -F는 csv가 열당 구분 단위가 쉼표(,)로 구분되어 있어서 구분 기호를 지정하는 것이다. 그리고 sort는 다들 아시다싶이 정렬해 주고 uniq는 중복을 제거해 주는 역할을 하는데 uniq -c를 사용하면 중복된 행의 개수를 출력해 준다.
썸네일 [Linux] Linux에서 "!!!!" 쓰는 방법 과제는 단순했다. "Hi!!!!"라는 test.txt를 만드는 것이었다. echo "Hi!!!!" > test.txt 로 되는 줄 알았는데 그 전에 명령어를 쳤던 이유에서인지 자꾸 이상한 결과값들이 나오는 것이었다. 이유는 바로 리눅스에서 느낌표는 명령 히스토리 확장으로 쓰인다. 즉, !e를 치게 된다면 이전에 쳤던 명령어중 가장 최근의 e로 시작하는 명령어를 다시 실행해주게 된다. 또한 !!를 치게 된다면 가장 최근의 명령어를 다시 실행하는 것이다. 따라서 !를 문자열로 쓰고싶다면 이스케이프(따음표로 묶어줘야한다)를 해줘야 한다. + ) 그리고 보너스로 test.txt 파일의 줄 수를 출력하는 명령어는 cat test.txt | wc -l 이다.