분류 전체보기 110

Andrew Ng(앤드류 응) 프롬프트 엔지니어링 강의 요약(3)

추론 이번 강의에서는 추론에 관한 것에 대해 이야기를 할 예정입니다. 모델이 텍스트를 입력으로 받아서 어떤 종류의 분석을 수행하는 이런 작업을 생각해봅니다. 이것은 라벨 추출, 이름 추출이 될 수 있고, 텍스트의 감정을 이해하는 것과 같은 것입니다. 감정을 추출하려면, 긍정적인지 부정적인지, 텍스트의 일부를, 전통적인 머신러닝 작업 흐름에서는 라벨 데이터 세트를 수집하고, 훈련시키고 모델을 배포하는 방법을 찾아야 하며 클라우드에서 추론을 해야 합니다. 그리고 감정 분석이나 이름 추출 등 각각의 작업에 대해서도, 별도의 모델을 훈련시키고 배포해야 합니다. 큰 언어 모델의 좋은 점 중 하나는 이러한 많은 작업들에 대해, 단순히 프롬프트를 작성하면 거의 즉시 결과를 생성하기 시작한다는 것입니다. lamp_re..

Andrew Ng(앤드류 응) 프롬프트 엔지니어링 강의 요약(2)

앞의 강의에 이어서 작성하면 프롬프트를 작성할 때 첫 번째 프롬프트가 작동하는지 여부는 중요하지 않습니다. 가장 중요한 것은 애플리케이션에 적합한 프롬프트를 얻는 과정입니다. 머신러닝 개발에서는 종종 아이디어를 가지고 그것을 구현한다는 다이어그램을 본 적이 있을 것입니다. 즉, 코드를 작성하고, 데이터를 얻고, 모델을 훈련시키면 실험 결과를 얻을 수 있습니다. 그리고 그 출력을 보고, 오류 분석을 하거나, 어떤 부분이 작동하거나 작동하지 않는지 파악하고, 어떤 문제를 해결하려는지 또는 어떻게 접근할지에 대한 아이디어를 변경할 수도 있습니다. 그리고 구현을 변경하고 다른 실험을 실행하고, 효과적인 머신러닝 모델을 얻기 위해 반복적으로 진행합니다. 원하는 작업을 생각하고, 그 작업을 완료하기 위해 첫 번째 ..

Andrew Ng(앤드류 응) 프롬프트 엔지니어링 강의 요약(1)

최근 ChatGPT, 네이버 Clover X 등 여러 LLM, 대형 언어 모델 제품들이 큰 발전을 이루어서 여러 기업들에서 앞다퉈 개발 중입니다. 다만, ChatGPT나 CLOVER X를 사용해보면 나는 정상적인 질문(프롬프트)를 했다 생각하는데 여러 이상한 대답이 나오는 결과가 나오곤합니다. 이는 아직 ChatGPT에게 아무런 질문을 하지 않았을 때는 깔끔한 상태로 사용자가 어떻게 질문하는지에 따라서 대답의 퀄리티와 결과가 다르기 때문입니다. 여기서 인공지능 분야에서 권위있는 Andrew Ng 박사님과 OpenAI팀에 소속된 Isa Fulford님의 강좌에서 어떻게 프롬프트를 주어야 좋은 대답이 나오는지에 관한 강의를 요약해 봤습니다. Base LLM과 Instruction-tuned LLM의 차이 인..

[NLP] 검색 기반 질의응답에서 사용할만한 모델에 대하여?

검색 기반 질의응답에서 중요한 것은? 1. 정확성: 모델이 제공하는 답변은 정확하고 신뢰성 있어야 합니다. 사용자에게 부정확한 정보를 전달하거나 오류가 있는 답변을 제공하지 않도록 해야 합니다. 2. 문맥 이해: 모델은 질문과 관련된 문맥을 올바르게 이해해야 합니다. 질문의 의도와 문맥을 고려하지 않으면 잘못된 답변이 생성될 수 있습니다. 3. 다양한 문서 고려: 검색 기반 모델은 다양한 문서에서 정보를 검색하므로, 모델이 다양한 소스에서 문맥을 파악하고 정보를 종합할 수 있어야 합니다. 4. 문서의 신뢰도 평가: 검색된 문서의 신뢰도를 평가하여 신뢰성 있는 정보를 선별해야 합니다. 신뢰도 없는 정보로 인해 오해나 혼란을 야기하지 않도록 해야 합니다. 5. 데이터 양과 다양성: 모델을 학습시키거나 평가할..

[NLP] ResNet / BERT / InstructGPT에 관하여?

ResNet DNN은 Layer가 깊어질수록 성능이 향상 되는 특징을 가졌습니다. 하지만 layer가 깊어지면 grdiant vanishing문제가 심해지기 때문에 ResNet은 이를 해결하기 위해 Skip connection 기법을 사용했습니다. 그래서 100층이 넘는 깊은 구조가 가능해졌습니다. 그리고 ReLU를 non-inear function을 사용한 것도 gradiant vanishing 문제를 개선시킵니다. 추가적으로 ResNet은 주로 Residual Block으로 구성되어 있습니다. Residual Block은 입력과 출력 사이에 잔차(Residual)를 학습하는 부분으로, 이전 층의 출력과 새로운 특징을 더하거나 합치는 방식으로 동작합니다. ResNet을 학습시킬때는 이미지를 224 X ..

[NLP] MSE(Mean Square Error)/ CrossEntropy / BinaryCrossEntopy에 대하여?

MSE(Mean Square Error) MSE는 회귀모델에서 가장 기본적으로 사용되는 손실 함수 중 하나입니다. 이 손실 함수는 예측값과 실제값의 차이를 제곱하여 오차를 계산하고, 이를 데이터 샘플 수로 나눈 후 평균을 취합하는 특징을 가지고 있어 모델의 성능을 평가하는데 사용됩니다. MSE는 오차가 작을수록 모델의 예측이 실제 데이터에 더 잘 맞는 것을 의미합니다. 따라서 MSE는 최소화해야 하는 값으로, 더 낮은 MSE를 가진 모델일수록 더 우수한 모델로 평가됩니다. MSE는 회귀 모델에서 주로 사용됩니다. 회귀 모델은 연속적인 출력 값을 예측하는데 사용되며, 출력 값과의 오차를 측정하는 데에 MSE가 적합합니다. 그 예로 선형 회귀(Linear Regression), 다변수 회귀(Multiple ..

[NLP] Recall / Precision / F1-score and AP(Average Precision) or AUC(Area Under the Curve)에 정의와 예시

Recall / Precision / F1-score Recall(재현율)은 실제로 긍정인 데이터 중 긍정으로 예측한 비율을 말합니다. 오차 행렬을 기준으로 재현율은 TP / (FN + TP)으로 계산할 수 있습니다. 예시 : 실제 감염된 사람은 7명인데 진단키트로 6명을 잡아낼때, 재현율은 6/7입니다. Precision(정밀도)은 예측을 긍정으로 한 데이터 중 실제로 긍정인 비율을 말합니다. 오차 행렬을 기준으로 정밀도는 TP / (FP + TP)으로 계산할 수 있습니다. 예시 : 코로나 진단키트로 8명이 나왔을 때, 실제로 확진판정을 받은 사람이 6명이라면 정밀도는 6/8입니다. F1-score은 정밀도와 재현율 한 쪽에 치우치지 않고 둘 다 균형을 이루는 것을 나타낸 것입니다. F1은 (2 * p..

[NLP] 일본어 자연어 처리할 때 주의해야 할 점과 사용하는 도구

일본어가 영어에 비해서 토큰화가 어려운 이유는? 1. 형태소 분석 및 품사 태깅: 영어와 같은 공백으로 구분된 문장과 달리, 일본어 문장은 구두점이나 줄 바꿈 외에는 명시적인 구분 기호가 없기 때문에 '단어' 같은 것이 애초에 불분명하다. 따라서 형태소 분석기와 같이 툴이나 옵션 설정마다 분할되는 방법이 다릅니다. 예를 들어, 「おじいさん」을 「お、じい、さん」이라고 토큰화가 가능하기 때문에 담당 관계에 대해서도 도구마다 경향이 다릅니다. 2. 텍스트 정규화: 일본어에는 형태 변화나 발음 변화에 의한 다양한 텍스트 변형이 존재합니다. 이러한 변형을 고려하여 데이터를 정규화하는 전처리 과정이 필요합니다. 3. 문화적 차이 고려: 일본어는 문화적 차이로 인해 표현이나 의미가 달라질 수 있습니다. 이러한 문화적..

[딥 러닝] 인공 신경망(Artificial Neural Network)이란 무엇인가?

피드 포워드 신경망(Feed-Forward Neural Network,FFNN) 위 그림의 다층 퍼셉트론(MLP)과 같이 오직 입력층에서 출력층 방향으로 연산이 전개되는 신경망을 피드 포워드 신경망(Feed-Forward Neural Network, FFNN)이라고 합니다. 위의 그림은 FFNN에 속하지 않는 RNN이라는 신경망을 보여줍니다. 이 신경망은 은닉층의 출력값을 출력층으로도 값을 보내지만, 동시에 은닉층의 출력값이 다시 은닉층의 입력으로 사용됩니다. 전결합층(Fully-connected layer,FC,Dense layer) 다층 퍼셉트론은 은닉층과 출력층에 있는 모든 뉴런은 바로 이전 층의 모든 뉴런과 연결돼 있었습니다. 그와 같이 어떤 층의 모든 뉴런이 이전 층의 모든 뉴런과 연결돼 있는 ..

[딥 러닝] 퍼셉트론이란 무엇인가?

인공 신경망은 수많은 머신러닝 기법 중 하나입니다. 다만, 최근 인공 신경망을 복잡하게 쌓아올린 다른 머신러닝보다 뛰어난 성능을 보여 주고 있어서 따로 분리 해야된다라는 말이 많습니다. 딥 러닝을 이해하기 위해서는 우선 인공 신경망에 대한 이해가 필요한데, 여기서는 초기의 인공 신경망인 퍼셉트론(Perceptron)에 대해서 이해가 필요합니다. 퍼셉트론(Perceptron) 퍼셉트론(Perceptron)은 1957년에 제안한 초기 형태의 인공 신경망으로 다수의 입력으로부터 하나의 결과를 내보내는 알고리즘입니다. 퍼셉트론은 실제 뇌를 구성하는 신경 세포 뉴런의 동작과 유사하고 뉴런은 가지돌기에서 신호를 받아들이고, 이 신호가 일정치 이상의 크기를 가지면 축삭돌기를 통해서 신호를 전달합니다. 아래는 다수의 ..