Data & ML & AI
-
ChatGPT 프롬프트 엔지니어링 #4. Summarizing (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 21. 20:49
chatGPT의 정말 유용한 장점 중 하나는 텍스트를 잘 요약해 주는 것입니다. 수많은 정보의 끝없는 텍스트를 읽을 시간이 없을 때 정보를 요약해서 읽으면 정말 유용합니다. Isa Fulford는 논문을 요약에 항상 chatGPT를 사용하고, 덕분에 더 많은 논문을 읽을 수 있다고 말합니다. 요약해줘 chatGPT는 텍스트를 요약하는 능력이 뛰어납니다. 단순히 요약해 달라고만 해도 요약을 꽤 괜찮게 해줍니다. 단순히 '아래 리뷰가 있으니까 30단어 이내로 요약해봐.'라고만 했는데, 리뷰의 내용을 크게 벗어나지도, 크게 빠뜨린 것 없이, 25개 단어의 문장으로 요약이 잘 되었습니다. 특정한 부분에 초점을 맞춰서 요약해줘 단순히 길이만 줄이는 것도 좋지만, 목적에 맞게 or 주 관심사에 초점을 맞춰서 요약할..
-
ChatGPT 프롬프트 엔지니어링 #3. Iterative (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 15. 00:01
프롬프트를 점진적으로 발전시켜라 여타 AI, ML 모델이 그렇듯, ChatGPT 역시 유저가 원하는 바를 찰떡같이 알아듣고 답해주지 않습니다. 처음부터 원하는 답변을 얻기를 기대하지 말고, 조금씩 조금씩 프롬프트를 개선해 나가면서 원하는 답변에 가까워지는 것이 더 효율적인 방식입니다. 프롬프트 가이드라인 명확하고 구체적으로 지시한다 왜 원하는 답변이 아닌지 분석한다 아이디어를 재정의하고 프롬프트를 수정한다 반복한다 점진적으로 프롬프트를 발전시켜가는 과정의 예시 0. 목적 "의자(상품)의 fact sheet를 요약해 온라인 쇼핑몰에 올릴 상품설명문을 작성하자!" 1. 첫번째 시도 "Technical specifications를 기반으로 제품 설명문을 작성해줘" Your task is to help a ma..
-
ChatGPT 프롬프트 엔지니어링 #2. Guidelines (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 14. 17:05
Prompting Principles 프롬프팅의 원칙 Principle 1: Write clear and specific instructions Principle 2: Give the model time to “think” 원칙 1. 명확하고 구체적으로 지시하라 명확하다 ≠ 짧다 여기서 "명확하게"작성하라는건 짧게 작성하라는 뜻이 아닙니다. 오히려 원하는 바를 많이 작성하면 작성할 수록 더 많은 명확성과 컨텍스트를 chatGPT에게 제공해줄 수 있습니다. 그 결과 더 상세하고 관련성 높은 결과를 제공할 수 있습니다. 1) 구분기호를 사용하라 use delimiters 구분기호를 이용해서 '지시내용'과 '대상'을 구분해주자 ```, """, , , : 등을 사용할 수 있음 모델에게 이 텍스트와 저 텍..
-
ChatGPT 프롬프트 엔지니어링 #1. Introduction (Isa Fulford, Andrew Ng)Data & ML & AI/LLM 2023. 5. 7. 02:54
1~2주일 전부터 이 강의가 출시되고 반응이 뜨거웠습니다. ChatGPT Prompt Engineering for Developers What you’ll learn in this course In ChatGPT Prompt Engineering for Developers, you will learn how to use a large language model (LLM) to quickly build new and powerful applications. Using the OpenAI API, you’ll... www.deeplearning.ai ChatGPT가 출시되고 New Bing(Bing 챗봇)등, LLM 기반의 챗봇들이 기술적으로, 상업적으로 큰 주목을 받고 있습니다. 많은 사람들이 학술분야에서..
-
10. Grid Search: 머신러닝 모델 하이퍼파라미터 튜닝, 최적화 손쉽게 하기(feat. scikit learn)Data & ML & AI/Pandas & Scikit-Learn 2023. 3. 30. 00:37
하이퍼파라미터를 하나하나 바꿔가며 모델을 테스트 하는 것은 참 귀찮은 일입니다. 그래서 scikit learn은 그리드탐색(Grid Search)과 랜덤탐색(Random Search)를 지원합니다. 이미지출처 Grid Search 그리드 탐색은 주어진 하이퍼파라미터들 중, 최적의 조합을 찾아내는 기법입니다. 사용자(분석자)가 미리 하이퍼파라미터 세트들을 정의함 모든 경우의 수로 하이퍼파라미터 조합을 생성, 모든 경우에 대해 머신러닝을 수행 가장 우수한 성능을 가진 하이퍼파라미터 조합이 최종적으로 선택됨 sklearn의 toy data인 iris data를 활용한 예시 코드입니다. from sklearn.datasets import load_iris from sklearn.model_selection im..
-
[Pandas] pd.merge 속도 빠르게 바꾸기Data & ML & AI/Pandas & Scikit-Learn 2023. 3. 2. 12:16
새로 서비스를 개발하는데 request에 대한 반응이 너무 느린 문제가 발생하였습니다. 모델 돌아가는게 느린가? 모델을 더 경량화 해야하나? 했는데 pd.merge 가 압도적으로 가장 많은 시간을 잡아먹고 있음을 확인할 수 있었습니다. pd.merge에 소요되는 시간을 줄여봅시다. 아래의 글을 참조했습니다. FAST PANDAS LEFT JOIN (357x faster than pd.merge) Explore and run machine learning code with Kaggle Notebooks | Using data from Riiid Answer Correctness Prediction www.kaggle.com 1) 매우 기본적인 형태의 pd.merge() df_test.merge(df_use..
-
[NetwrokX] 어떤 노드들이 새로 친구가 될까? Link Prediction #2Data & ML & AI/NetworkX 2023. 1. 21. 01:51
지난 글에서는 기존 네트워크 그래프에서 node의 개수는 그대로인 상태로 어떤 edge가 새로 생성될지 예측하는 방법론을 다루어 보았습니다. [NetwrokX] 어떤 노드들이 새로 친구가 될까? Link Prediction #1 지난 글에서는 새로 들어온 노드가 어떤 노드와 연결이 될지를 확률적으로 계산하는 Preferential Attatchment Model을 알아보았습니다. [NetworkX] 새로운 노드는 어디에 어떤 노드와 연결될까?Preferential At brain-nim.tistory.com 방법1. 공통이웃을 얼마나 가지고 있는가? 방법2. 자카드 계수 방법3. 자원할당 방법4. Adamic-Adar Index 방법5. Preferential Attachment Model 위의 방법들은..
-
[NetwrokX] 어떤 노드들이 새로 친구가 될까? Link Prediction #1Data & ML & AI/NetworkX 2023. 1. 16. 19:59
지난 글에서는 새로 들어온 노드가 어떤 노드와 연결이 될지를 확률적으로 계산하는 Preferential Attatchment Model을 알아보았습니다. [NetworkX] 새로운 노드는 어디에 어떤 노드와 연결될까?Preferential Attachment Model (Barabasi Albert Model) 실 세계에서의 Degree 분포 한 학교에 새로 전학생이 왔습니다. 이 친구는 누구와 친구가 될 가능성이 가장 높을까요? 앉는 자리와 같은 변수를 제거한다면, "이미 친구가 많은" 아이와 친구가 될 brain-nim.tistory.com 새로 edge, link가 생성되는 경우로는 전학생(새로 추가된 노드)이 오는 경우만 있지 않습니다. 이미 같은 반이였던 동급생끼리도 친구가 될 수 있습니다. 기..