A implementação do artigo Open Source LLM:
RecorrentGPT: geração interativa de texto longo (arbitrariamente) .
[Paper] [Arxiv] [Huggingface] [Offical]
O contexto de tamanho fixo do transformador torna os modelos GPT incapazes de gerar texto arbitrariamente longo. Neste artigo, apresentamos o RecorrentGPT, um simulacro baseado em idiomas do mecanismo de recorrência nas RNNs. O RecurrentGPT é construído sobre um modelo de idioma grande (LLM), como o ChatGPT e usa a linguagem natural para simular o mecanismo de memória de curto prazo longo em um LSTM. Em cada timestep, o RecurrentGPT gera um parágrafo de texto e atualiza sua memória de termo de longo short baseada em idiomas armazenada no disco rígido e no prompt, respectivamente. Esse mecanismo de recorrência permite que o recorrente gere textos de comprimento arbitrário sem esquecer. Como os usuários humanos podem observar e editar facilmente as memórias de linguagem natural, o RecurrentGPT é interpretável e permite a geração interativa de texto longo. O RecorrentGPT é um passo inicial em direção a sistemas de escrita assistida por computador de próxima geração além das sugestões de edição local. Além de produzir conteúdo gerado pela IA (AIGC), também demonstramos a possibilidade de usar o RecorrentGPT como uma ficção interativa que interage diretamente com os consumidores. Chamamos isso de uso de modelos generativos por `` ai como conteúdo '' (AIAC), que acreditamos ser a próxima forma de AIGC convencional. Demonstramos ainda a possibilidade de usar o recorrente para criar ficção interativa personalizada que interage diretamente com os leitores em vez de interagir com os escritores. De maneira mais ampla, o RecorrentGPT demonstra a utilidade de emprestar idéias de designs populares de modelos em ciência cognitiva e aprendizado profundo para promover o LLMS.
Transformador 的固定尺寸上下文使得 gpt 模型无法生成任意长的文本。在本文中 , 我们介绍了 recorrentegpt , 一个基于语言的模拟 rnns 中的递归机制。recurrentgpt 建立在大型语言模型 (llm) 之上 , 如 chatgpt , 并使用自然语言来模拟 lstm 中的长短时记忆机制。在每个时间段 , recorrentegpt 生成一段文字 , 并更新其基于语言的长短时记忆 , ,制使 Recorrentgpt 能够生成任意长度的文本而不被遗忘。由于人类用户可以很容易地观察和编辑自然语言记忆 , 因此 Recorrentgpt 是可解释的 , 并能互动地生成长文本。 -Recurrentgpt 是朝着超越本地编辑建议的下一代计算机辅助写作系统迈出的第一步。除了制作人工智能生成的内容 (AIGC) , 我们还展示了使用 Recorrentgpt 作为直接与消费者互动的互动小说的可能性。我们称这种生成模型的使用为"Ai como conteúdo" (aiac) , 我们认为这是传统 aigc 的下一个形式。我们进一步展示了使用 recorrentegpt 创造个性化互动小说的可能性 , 这种小说直接与读者互动 , , , recorrentegpt 证明了从认知科学和深度学习中流行的模型设计中借用思想来提示 llm 的效用。
pip install transformers@git+https://github.com/huggingface/transformers.git
pip install peft@git+https://github.com/huggingface/peft.git
pip install accelerate@git+https://github.com/huggingface/accelerate.git
pip install bitsandbytes==0.39.0
pip install -U flagai
pip install bminf
[global_config.py]
lang_opt = "zh" # zh or en. make English or Chinese Novel
llm_model_opt = "openai" # default is openai, it also can be other open-source LLMs as below
Você deve aplicar uma chave da API do OpenAI primeiro. então
export OPENAI_API_KEY = "your key"
Baixe o modelo Vicuna. e configure -o em modelos/vicuna_bin.py
tokenizer = AutoTokenizer . from_pretrained ( model_name_or_path , trust_remote_code = True )
model_config = AutoConfig . from_pretrained ( model_name_or_path , trust_remote_code = True )
model = AutoModel . from_pretrained ( model_name_or_path , config = model_config , trust_remote_code = True ) tokenizer = AutoTokenizer . from_pretrained ( "baichuan-inc/baichuan-7B" , trust_remote_code = True )
model = AutoModelForCausalLM . from_pretrained ( "baichuan-inc/baichuan-7B" , device_map = "auto" , trust_remote_code = True ) loader = AutoLoader (
"lm" ,
model_dir = state_dict ,
model_name = model_name ,
use_cache = True ,
fp16 = True )
model = loader . get_model ()
tokenizer = loader . get_tokenizer ()
model . eval ()Se quiser usar o BMINF, adicione código como abaixo:
with torch . cuda . device ( 0 ):
model = bminf . wrapper ( model , quantization = False , memory_limit = 2 << 30 ) python gradio_server.py

Se este projeto o ajudar a reduzir o tempo para se desenvolver, você pode me dar uma xícara de café :)
Alipay (支付宝)

WeChatpay (微信)

MIT © Kun