레이블이 llama index인 게시물을 표시합니다. 모든 게시물 표시
레이블이 llama index인 게시물을 표시합니다. 모든 게시물 표시

2023년 11월 28일 화요일

LllamaPack

 

llama index


https://x.com/llama_index/status/1729303619760259463?s=20


⭐️ Hybrid Fusion (vector + keyword search + reranking)

⭐️ Query Rewriting + Fusion

⭐️ Retrieval with embedded tables (using @UnstructuredIO)

⭐️ Auto-merging Retriever

⭐️ Sentence Window Retriever (retrieve on sentences, expand into chunks)

⭐️ Node Reference Retriever (retrieve on smaller chunks, expand into parent chunks)

⭐️ Multi-Document Agents (handles advanced queries)

LllmaPacks

https://github.com/run-llama/llama-hub/tree/main/llama_hub/llama_packs


평가:


RAG 를 쓰다보면, Retrieval 을 어떻게 하는지 궁금해진다. 필요한 문서를 넣었는데, 질문에 맞게 가져오질 못하는 경우가 꽤 있기 때문이다. 

결국, DB 에서 Query Optimization 하는 식으로, 어떤 질문이냐에 따라서, 문서를 넣고 인덱싱하고 가져오는 방식도 달라져야 하는 것이다.

그림으로 각 케이스가 어떻게 달라지는지 직관적으로 와 닿지는 않는다.

질문을 했을 경우 어떻게 질문이 해석되고, 어떤 과정을 통해 조회되는지, 어떻게 응답이 합쳐지는 지를 아는 것은 매우 중요하다.

나의 도메인에서 자주 쓰는 질문에 대입해 보고, 맞는지를 미리 확인해 볼 수 있을 것이다.

7가지 경우의 패턴에 따라서 트라이 해보고, 좋은 결과를 얻을 수 있는지 테스트 해보면 될 것이다.

각 케이스에 최적화된 유스케이스가 궁금해진다.





Gradient AI


오늘부터 AI 관련 뉴스를 읽으며 주목할 만한 기사 또는 좋은 내용의 기사를 한국어로 소개하는 글들을 써보고자 한다.
읽어야 할 글들이 너무 많은데, 그 중에서 하루에 한가지 정도만 알고 가면 좋을 것이다.
좋은 내용도 너무 많지만, 강조해서 알아야할 몇가지 개념들만 숙지하면 좋을 것이다.


Jerry Liu


llama index의 CEO 이신 Jerry Liu 님이 좋은 글들을 많이 포스팅 해주신다. 

https://x.com/jerryjliu0/status/1729204727072903360

Gradient AI 에서 블로그를 하나 썼는데, RAG 중심으로 개념적으로 잘 정리해서 설명해주었다.


RAG


💡 Open vs. closed-source LLMs ( 오픈 소스 LLM 과 클로즈드 소스 LLM )

💡 Prompt engineering vs. fine-tuning vs. RAG ( 프롬프트 엔지니어링, 파인 튜닝, RAG )

💡 Optimizing RAG: chunking, embeddings, reranking, and more. ( RAG 최적화, 청킹, 임베딩, 리랭킹, ... )


LLM 이 모든 일에 최적화 되어 있지 않기 때문에, 특정 작업을 위하여 최적화 작업이 필연적으로 필요할 수 밖에 없다.

프롬프트 엔지니어링, 파인 튜닝, RAG 사용 세가지의 방법이 있다.


RAG란 LLM의 내부 정보 표현을 보완하기 위해 외부 지식 소스에 모델을 기반으로 LLM 생성 응답의 품질을 향상시키는 데 사용되는 AI 프레임워크이다.

RAG 를 통해 고객 지원 챗봇, 향상된 검색, 컨텐츠 검색, 재무 분석, 개인화 추천등을 만들 수 있다.

기업 입장에서는 모르는 내용에 대한 환각(Hallucination)을 최소화할 수 있고, 변하는 데이터에 대한 적응, 최신 정보 적용으로 환각을 줄이고, 개인 정보를 바탕으로 적합한 응답을 할 수 있게 된다.


Gradient AI Cloud


프롬프트 엔지니이링 최적화, 즉 프롬프트를 사용하면 모델을 제공하는 입력을 디자인하고 개선하고 보고 싶은 출력 종류에 영향을 줄 수 있다. 처음에 시도하는 최적화 시도이다.

그러나, 곧 한계에 곧 부딪히는데, RAG 를 써야 할지, Fine Tuning 을 해야할지 혼동할 수 있다!

그런데, 도메인 전문 LLM 과 도메인 지식 RAG 을 함께 써야 안정성과 성능이 향상된다고 주장한다.

( 그래도 그 둘을 언제 해야 하는지에 대한 조언이 있었으면 더 좋은 글이 되었을 것 같다.)

그리고, 그 일들이 전문적으로 꽤 많다고 주장한다.

그러면서, gradient AI cloud platform에 대한 설명이 쭈욱~ ㅎㅎ 



LLM 은 llama2 , bloom 560은 기반으로 한다는 것이 인상적이다.

bloom 560은 왜 쓰는 것일까? https://huggingface.co/bigscience/bloom-560m 

Embedding 방식도 Nightingale, Albatross 등을 쓴다는 것.

llama index 와 통합이 되었다는 것으로 마무리.

자세한 내용은 여기에 Gradient Blog: RAG 101 for Enterprise


개인적인 평가


Gradient AI 의 말대로라면 특정 문제를 해결하기 위한 RAG, Fine Tuning 이 된 AI Application 을 만들기 쉬워지고 비용도 좋을 것이다.

https://docs.gradient.ai/docs/quickstart

을 방문하여 현재 구현된 상태를 가늠해 볼 수 있는데, 아직 초기 상태로 보인다.

하지만, 앞으로 개선이 기대된다!

이와 같은 RAG , LLM Finetuning 솔루션을 구축하려는 업체가 벤치마킹할 수 있을 것 같다.

이걸로 사업에 도전할 수 있다니 신기할 뿐이다.

단지 AI Application 백엔드를 좀 쉽게 구축해주는 일인데... 아마도, 큰 기업에서 더 잘 최적화한 툴들을 제공할텐데...

langchain , llama index 개발자를 위한 사용 인터페이스도 제공하니, 개발자들은 써볼 수 있을 것 같다.