大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

1,507次阅读
没有评论

今天是2023年10月14日,星期六,北京,天气晴,我们来看看一些关于RAG信息检索增强搜索、关于大模型的理论入门以及初步的面试指引方面的开源工作推荐,供大家一起参考。

一、关于RAG信息检索增强搜索的一些入门指引

1、ACL2023陈丹琦等《基于检索的大语言模型及其应用》

该报告从问题设置、架构、应用、挑战等角度全面了解检索增强的语言模型。

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

下面是具体的参考路线

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

地址:https://acl2023-retrieval-lm.github.io/

2、graph-rag基于知识图谱的搜索增强

地址:https://siwei.io/graph-rag/

一个简单的 Graph RAG 思想在于,对用户输入的query提取实体,然后构造子图形成上下文,最后送入大模型完成生成,如下代码所示:

def simple_graph_rag(query_str, nebulagraph_store, llm):
    entities = _get_key_entities(query_str, llm)
    graph_rag_context = _retrieve_subgraph_context(entities)
    return _synthesize_answer(
        query_str, graph_rag_context, llm)

首先,使用LLM(或其他)模型从问题中提取关键实体。

def _get_key_entities(query_str, llm=None ,with_llm=True):
    ...
    return _expand_synonyms(entities)

其次,根据这些实体检索子图,深入到一定的深度,例如可以是2度甚至更多。

def _retrieve_subgraph_context(entities, depth=2, limit=30):
    ...
    return nebulagraph_store.get_relations(entities, depth, limit)

最后,利用获得的上下文利用LLM产生答案。

def _synthesize_answer(query_str, graph_rag_context, llm):
    return llm.predict(PROMPT_SYNTHESIZE_AND_REFINE, query_str, graph_rag_context)

3、Langchain-Chatchat本地文档问答

LangChain-Chatchat(原Langchain-ChatGLM):基于Langchain与ChatGLM等大语言模型的本地知识库问答应用实现。依托于本项目支持的开源LLM与Embedding模型,本项目可实现全部使用开源模型离线私有部署。

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

项目实现过程包括加载文件->读取文本->文本分割->文本向量化->问句向量化->在文本向量中匹配出与问句向量最相似的topk个->匹配出的文本作为上下文和问题一起添加到prompt中->提交给LLM生成回答。

二、关于大模型的理论入门以及初步的面试指引

1、扫盲入门:Chatgpt复现之路博客

ChatGPT复现之路(地址:https://wqw547243068.github.io/chatgpt_mimic)是目前所见到的科普较为完整的一个博客,写的很好,对于入门和了解相关概念的又很大的帮助。

例如,其对无监督训练pretrain、监督训练sft以及强化学习RLHF的形象比喻

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

又如,其在对chatgpt训练三步走阶段的一个总结

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

又如,对中文llama汉化的一些工作路线总结

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

2、面试指引:awesome_LLMs_interview_notes

大模型(LLMs)算法工程师相关的面试题和参考答案(地址:github.com/jackaduma/awesome_LLMs_interview_notes)

该项目开源了一些常见的大模型理论层面的面试题,具体包括大模型(LLMs)基础面,大模型(LLMs)进阶面,大模型(LLMs)微调面,大模型(LLMs)langchain面,基于LLM+向量库的文档对话经验面,大模型(LLMs)参数高效微调(PEFT)面,大模型(LLMs)推理面,大模型(LLMs)评测面,大模型(LLMs)强化学习面,大模型(LLMs)训练集面,大模型(LLMs)agent面,Token及模型参数准备篇,LLMs位置编码篇,LLMsTokenizer篇,LayerNormalization篇,LLMs激活函数篇等。

例如:

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

作答例子:

大模型学习与实践开源指引:RAG信息检索增强搜索、理论概述及常见面试题

需要注意的是,答案猜测是抓了GPT4的答案,因为答案很制式化,是很明显的三段论,缺啥细节且有效的信息。但可以收益的是,其中提到的一些问题,可以作为我们思考的方向,我们可以自行地去获得答案。

关于我们

老刘,刘焕勇,NLP开源爱好者与践行者,主页:https://liuhuanyong.github.io。

老刘说NLP,将定期发布语言资源、工程实践、技术总结等内容,欢迎关注。

对于想加入更优质的知识图谱、事件图谱、大模型AIGC实践、相关分享的,可关注公众号,在后台菜单栏中点击会员社区->会员入群加入。

​       

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy