· AI
GraphRAG?  최근 LLM을 잘 활용하기 위해서는 모델이 뱉어내는 텍스트를 그대로 사용하는 것이 아닌, 데이터 베이스를 직접 구축하고 그 데이터를 기반으로 LLM이 답변하도록 구현하는 RAG(Retrieval-Augmented Generation) 기법이 많이 사용되고 있습니다. 이제는 마음만 먹으면 LLM을 누구나 활용가능한 만큼, 독자적인 데이터로 사용자의 니즈에 맞춘 서비스를 준비하는 것이 더욱 관건이라는 의미인데요. 또한, 어떤 데이터 베이스를 구축하냐에 따라 그 성능이 달라지기 마련입니다.  2023.06.19 - [Natural Language] - 사용자 PDF 기반 In-context Learning을 통한 ChatGPT 질의응답 챗봇 구현하기 (feat. LangChain, Vect..
· AI
👩‍💻 ChatGPT를 사용하면 이전 대화를 계속 기억해 나가면서 대화를 이어나가는 것을 알 수 있습니다. 이렇게 전체 대화의 맥락을 읽고 대화를 주고 받는 것을 멀티턴 (Multi-turn) 이라고 합니다. 이와 다르게 바로 직전의 질문에만 답하는 것은 싱글턴 (single-turn) 이라고 합니다. 오늘은 Langchain을 통해 멀티턴을 어떻게 구현할 수 있을 지를 알아보려 합니다.  제가 참고한 문서는 아래 Langchain 파이썬 공식문서 입니다. 챗봇에 메모리를 추가하는 방법에 대해 기술한 자료이며, 해당 코드를 기반으로 설명드리며, 마지막으로 이를 응용하여 끝말잇기 챗봇을 구현해보았으니 다양한 활용에 도움이 되었으면 좋겠습니다!https://python.langchain.com/v0.2/..
· AI
약 6개월전, GraphRAG를 구현하기 위해 Neo4j 그래프 DB를 구축하여, LangChain을 통해 Cypher 쿼리 자동 생성과 질의응답까지의 과정을 업로드 한 적이 있었습니다. https://uoahvu.tistory.com/entry/GraphRAG-Neo4j-DB와-LangChain-결합을-통한-질의응답-구현하기-Kaggle-CSV-데이터-적용하기 GraphRAG : Neo4j DB와 LangChain 결합을 통한 질의응답 구현하기 (Kaggle CSV 데이터 적용하기)GraphRAG?  최근 LLM을 잘 활용하기 위해서는 모델이 뱉어내는 텍스트를 그대로 사용하는 것이 아닌, 데이터 베이스를 직접 구축하고 그 데이터를 기반으로 LLM이 답변하도록 구현하는 RAG(Retrieval-Auuoa..
· AI
교육분야에서의 AI는 Knowledge Tracing를 통해 적용될 수 있습니다. 그 중 Sequential Data를 사용하여 시간의 흐름에 따라 변화하는 지식 수준을 모델링한 Deep Knowledge Tracing을 살펴보겠습니다. (본 게시글은 Deep Knowledge Tracing(2015) https://papers.nips.cc/paper/2015/hash/bac9162b47c56fc8a4d2a519803d51b3-Abstract.html 을 기반으로 비전공자도 이해할 수 있도록 매우 쉽게 풀어 작성하였습니다.) 1. Knowledge Tracing   Knowledge Tracing(지식 추적)이란 학생(user)의 풀이이력을 바탕으로 아직 풀이하지 않은 미래의 문제에 대해 학생의 수행결..
· AI
In-context Learning ? 최근 ChatGPT의 등장으로 거대언어모델의 활용에 대해 전 세계 사람들의 이목이 쏠리고 있습니다. 특히 기업에서는 사내 데이터를 활용하여 기존의 문서 검색 기술을 대체하거나, 자사 전용 모델을 구축하고자 하는 움직임이 느껴지는 시기입니다. 오늘 다루어볼 구현 내용 또한 이러한 니즈에 맞춰 적용해볼 수 있는 기술입니다. 바로 별도의 모델 학습(파인튜닝)없이 사용자가 가진 문서를 ChatGPT에 함께 입력하여 적절한 검색을 해볼 수 있는 방식입니다. 이렇게 학습없이 바로 문서와 함께 입력하여 원하는 답을 얻는 방식을 In-context Learning 이라고 합니다.  In-context Learning이란,단순히 질의만 던지는 것이 아닌 그 질의에 필요한 사용자 데..
LLM Series 🚀
· AI
👩‍💻 ChatGPT를 사용하면 이전 대화를 계속 기억해 나가면서 대화를 이어나가는 것을 알 수 있습니다. 이렇게 전체 대화의 맥락을 읽고 대화를 주고 받는 것을 멀티턴 (Multi-turn) 이라고 합니다. 이와 다르게 바로 직전의 질문에만 답하는 것은 싱글턴 (single-turn) 이라고 합니다. 오늘은 Langchain을 통해 멀티턴을 어떻게 구현할 수 있을 지를 알아보려 합니다.  제가 참고한 문서는 아래 Langchain 파이썬 공식문서 입니다. 챗봇에 메모리를 추가하는 방법에 대해 기술한 자료이며, 해당 코드를 기반으로 설명드리며, 마지막으로 이를 응용하여 끝말잇기 챗봇을 구현해보았으니 다양한 활용에 도움이 되었으면 좋겠습니다!https://python.langchain.com/v0.2/..
· AI
약 6개월전, GraphRAG를 구현하기 위해 Neo4j 그래프 DB를 구축하여, LangChain을 통해 Cypher 쿼리 자동 생성과 질의응답까지의 과정을 업로드 한 적이 있었습니다. https://uoahvu.tistory.com/entry/GraphRAG-Neo4j-DB와-LangChain-결합을-통한-질의응답-구현하기-Kaggle-CSV-데이터-적용하기 GraphRAG : Neo4j DB와 LangChain 결합을 통한 질의응답 구현하기 (Kaggle CSV 데이터 적용하기)GraphRAG?  최근 LLM을 잘 활용하기 위해서는 모델이 뱉어내는 텍스트를 그대로 사용하는 것이 아닌, 데이터 베이스를 직접 구축하고 그 데이터를 기반으로 LLM이 답변하도록 구현하는 RAG(Retrieval-Auuoa..
· AI
GraphRAG?  최근 LLM을 잘 활용하기 위해서는 모델이 뱉어내는 텍스트를 그대로 사용하는 것이 아닌, 데이터 베이스를 직접 구축하고 그 데이터를 기반으로 LLM이 답변하도록 구현하는 RAG(Retrieval-Augmented Generation) 기법이 많이 사용되고 있습니다. 이제는 마음만 먹으면 LLM을 누구나 활용가능한 만큼, 독자적인 데이터로 사용자의 니즈에 맞춘 서비스를 준비하는 것이 더욱 관건이라는 의미인데요. 또한, 어떤 데이터 베이스를 구축하냐에 따라 그 성능이 달라지기 마련입니다.  2023.06.19 - [Natural Language] - 사용자 PDF 기반 In-context Learning을 통한 ChatGPT 질의응답 챗봇 구현하기 (feat. LangChain, Vect..
· AI
GraphGPT https://github.com/varunshenoy/GraphGPT GitHub - varunshenoy/GraphGPT: Extrapolating knowledge graphs from unstructured text using GPT-3 🕵️‍♂️Extrapolating knowledge graphs from unstructured text using GPT-3 🕵️‍♂️ - GitHub - varunshenoy/GraphGPT: Extrapolating knowledge graphs from unstructured text using GPT-3 🕵️‍♂️github.comgraphgpt.vercel.app GraphGPT graphgpt.vercel.app 최근 GraphG..
· AI
In-context Learning ? 최근 ChatGPT의 등장으로 거대언어모델의 활용에 대해 전 세계 사람들의 이목이 쏠리고 있습니다. 특히 기업에서는 사내 데이터를 활용하여 기존의 문서 검색 기술을 대체하거나, 자사 전용 모델을 구축하고자 하는 움직임이 느껴지는 시기입니다. 오늘 다루어볼 구현 내용 또한 이러한 니즈에 맞춰 적용해볼 수 있는 기술입니다. 바로 별도의 모델 학습(파인튜닝)없이 사용자가 가진 문서를 ChatGPT에 함께 입력하여 적절한 검색을 해볼 수 있는 방식입니다. 이렇게 학습없이 바로 문서와 함께 입력하여 원하는 답을 얻는 방식을 In-context Learning 이라고 합니다.  In-context Learning이란,단순히 질의만 던지는 것이 아닌 그 질의에 필요한 사용자 데..
· AI
Prompt Engineering 최근에 LLAMA 모델 공개를 기점으로 굉장히 다양한 LLM 들이 등장하고 있습니다. 이에 따라 기업은 사내 데이터를 파인튜닝하여 사용하거나, ChatGPT등을 활용하는 등의 니즈가 매우 증가하고 있는 추세입니다. 저 또한 이러한 시대에 빠르게 발 맞추며 Prompt Engineering 의 중요성을 알게 되었고 제대로 된 활용법을 정리해보고자 합니다. 또한 본 글은 DeepLearning.AI short course 의 실습자료를 활용한 글임을 알립니다. 누구나 무료로 들을 수 있으니 아래 링크 참고 부탁드립니다. :) https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers..
Edu AI 📚
· AI
Factorization Machines : https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf 1. Factorization Machines 오늘 다루어볼 추천모델은 Factorization Machines(이하 FM)입니다. FM은 Factorized 파라미터를 사용하여 변수간 interaction을 구한다는 것이 특징인데요, 따라서 sparse한 행렬 데이터인 경우에도 잘 적용할 수 있다는 것이 특징이자 장점입니다.  FM 논문에서는 적용예시로 영화 평점 예측 모델을 제시하고 있습니다. 위 그림처럼 각 행(row)마다 사용자별 시청 영화, 영화 평점, 시간, 지난 시청 영화를 행렬로 표현하고, 각 행에 대한 target값을 1에서 5사이의 평점으..
· AI
교육분야에서의 AI는 Knowledge Tracing를 통해 적용될 수 있습니다. 그 중 Sequential Data를 사용하여 시간의 흐름에 따라 변화하는 지식 수준을 모델링한 Deep Knowledge Tracing을 살펴보겠습니다. (본 게시글은 Deep Knowledge Tracing(2015) https://papers.nips.cc/paper/2015/hash/bac9162b47c56fc8a4d2a519803d51b3-Abstract.html 을 기반으로 비전공자도 이해할 수 있도록 매우 쉽게 풀어 작성하였습니다.) 1. Knowledge Tracing   Knowledge Tracing(지식 추적)이란 학생(user)의 풀이이력을 바탕으로 아직 풀이하지 않은 미래의 문제에 대해 학생의 수행결..
· AI
추천시스템의 가장 기본인 협업필터링을 활용하여 교육분야에서 어떻게 활용될 수 있을 지 고민하는 시간을 가져보았습니다. 사용한 데이터는 ASSISTment 2009 데이터로, 학생별 문항 풀이이력이 존재합니다. 데이터에 대한 자세한 설명은 https://uoahvu.tistory.com/entry/AIEd를-위한-학습풀이이력-공개데이터셋 을 참고해주세요. 1. 협업필터링을 통해 특정 학습개념과 유사한 학습개념 찾기  먼저, ASSISTment 2009 데이터는 사용자별 문항 풀이이력이 존재합니다. 위 데이터 예시에서 확인할 수 있듯 해당 데이터를 통해 각 문항이 포함하는 Skill(학습 개념) 이 무엇인지, 그 문항을 맞혔는지 틀렸는 지를 확인할 수 있습니다. (맞힘 : 1 / 틀림 : 0) 보통 협업필터..
· AI
교육분야에서 인공지능을 활용하기 위해서는 가장 기본적이고 대표적으로 데이터셋이 필요합니다. 그래서 공개된 학습이력 데이터셋 5가지 정도를 공유하고자 합니다. 1. ASSISTment 2009-2010 datasets 가장 먼저, ASSISTment 2009-2010 데이터셋으로 일반적으로 Knowledge Tracing 모델 성능검증을 위해 가장 많이 사용되는 데이터 셋입니다. 해당데이터 셋은 skill_builder 와 non_skill_builder 타입 두가지로 나뉘어져 있으며, 이 중 특정 개념을 마스터 한 것으로 간주 될때는 더이상 문제를 출제하지 않았다는 skill_builder 데이터셋을 기준으로 작성하였습니다. 아래 링크에서 데이터셋을 다운로드 받을 수 있습니다.  https://sites..
· AI
Last Query Transformer RNN for knowledge tracing 🚩 https://www.kaggle.com/competitions/riiid-test-answer-prediction Riiid Answer Correctness Prediction | Kaggle www.kaggle.com   2020년, 산타토익을 개발한 뤼이드는 Kaggle을 통해 정오답 예측 대회 (Answer Correctness Prediction) 를 개최했습니다. 제가 리뷰한 모델은 본 대회에서 리더보드 1위를 차지한 모델로, Last Query Transformer RNN for knowledge tracing 입니다. 해당 모델의 전체적인 구조를 중심으로, 정오답을 예측하기까지의 과정을 따라가보려..
· AI
지식추적에 적용한 셀프 어텐션(Self Attention)   Transformer가 등장하면서 셀프 어텐션(Self Attention)은 시퀀스 데이터를 처리하기 위한 필수적 요소로 사용되고 있는데요. 대표적으로 문장과 같은 자연어가 이에 해당합니다. 지식 추적 (Knowledge Tracing) 에서도 학생의 풀이 이력이라는 시퀀스 데이터를 다루게 됩니다. 그렇기 때문에 이 셀프 어텐션을 지식추적에 활용한 모델 구조가 연구되었고, 그 중 "A Self-Attentive model for Knowledge Tracing(SAKT)" 논문이 대표적입니다. 본 글에서는 SAKT를 통해 지식추적에 셀프어텐션을 어떻게 적용했는 지 상세히 살펴보고, 파이토치 코드를 통해서도 이해하고자 합니다.   A Self-..
· AI
Knowledge Graph Knowledge Graph(지식 그래프)는 semantic network 라고도 알려져 있으며, 사물, 사건, 상황, 개념 등의 현실세계에서 다루어 지는 다양한 엔티티(Entity)들을 그들 간의 관계성(Relationship)과 함께 표현하는 그래프입니다. Knowledge Graph는 꽤 오래전부터 등장한 개념이지만, 최근 RAG(Retrieval-Augmented Generation) 방식으로 LLM(Large Language Model)을 사용하는 사례가 늘어나면서 지식 베이스 구조화의 중요성이 더욱 증대되고 있습니다. 특히 Graph 기반의 지식 저장 방식은 LLM 성능향상에 도움을 준다고 알려져 있습니다. GraphDB를 활용하면, 정보 간의 복잡한 관계를 구조화..
uoahvu(나연)
After work