La mise en œuvre de la LLM open source du papier:
RecurrentGpt: Génération interactive de texte long (arbitrairement) .
[Paper] [arXiv] [HuggingFace] [Offical]
Le contexte de taille fixe du transformateur rend les modèles GPT incapables de générer du texte arbitrairement long. Dans cet article, nous introduisons RecurrentGpt, un simulacre basé sur le langage du mécanisme de récidive dans les RNN. RecurrentGpt est construit sur un modèle grand langage (LLM) tel que Chatgpt et utilise le langage naturel pour simuler le long mécanisme de mémoire à court terme dans un LSTM. À chaque étalage, RecurrentGpt génère un paragraphe de texte et met à jour sa mémoire à terme long-short basée sur le langage stocké sur le disque dur et l'invite, respectivement. Ce mécanisme de récidive permet à RecurrentGpt de générer des textes de longueur arbitraire sans oublier. Étant donné que les utilisateurs humains peuvent facilement observer et modifier les souvenirs en langage naturel, RecurrentGpt est interprétable et permet une génération interactive de texte long. RecurrentGpt est une première étape vers les systèmes d'écriture assistés par ordinateur de nouvelle génération au-delà des suggestions d'édition locales. En plus de produire du contenu généré par l'AI (AIGC), nous démontrons également la possibilité d'utiliser RecurrentGpt comme une fiction interactive qui interagit directement avec les consommateurs. Nous appelons cette utilisation de modèles génératifs par `` AI comme contenu '' (AIAC), qui, selon nous, est la prochaine forme d'AIGC conventionnelle. Nous démontrons en outre la possibilité d'utiliser RecurrentGpt pour créer une fiction interactive personnalisée qui interagit directement avec les lecteurs au lieu d'interagir avec les écrivains. Plus largement, RecurrentGpt démontre l'utilité d'emprunter des idées à des conceptions de modèles populaires en sciences cognitives et en profondeur pour avoir incité les LLM.
Transformateur 的固定尺寸上下文使得 GPT 模型无法生成任意长的文本。在本文中 , 我们介绍了 RecurrentGpt , 一个基于语言的模拟 RNNS 中的递归机制。recurrentGpt 建立在大型语言模型 (llm) 之上 , 如 Chatgpt , 并使用自然语言来模拟 lstm 中的长短时记忆机制。在每个时间段 , RecurrentGpt 生成一段文字 , 并更新其基于语言的长短时记忆 , 分别存储在硬盘和提示器上。这种递归机制使 RecurrentGpt 能够生成任意长度的文本而不被遗忘。由于人类用户可以很容易地观察和编辑自然语言记忆 , 因此 RecurrentGpt 是可解释的 , 并能互动地生成长文本。recurrentGpt 是朝着超越本地编辑建议的下一代计算机辅助写作系统迈出的第一步。除了制作人工智能生成的内容 (AIGC) , 我们还展示了使用 RecurrentGpt 作为直接与消费者互动的互动小说的可能性。我们称这种生成模型的使用为"AI comme contenu" (AIAC) , 我们认为这是传统 AIGC 的下一个形式。我们进一步展示了使用 RecurrentGpt 创造个性化互动小说的可能性 , 这种小说直接与读者互动 , 而不是与作者互动。更广泛地说 , RecurrentGpt 证明了从认知科学和深度学习中流行的模型设计中借用思想来提示 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
Vous devez d'abord appliquer une clé API OpenAI. alors
export OPENAI_API_KEY = "your key"
Téléchargez le modèle Vicuna. et configurez-le dans des modèles / 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 ()Si vous souhaitez utiliser BMINF, ajoutez le code comme ci-dessous:
with torch . cuda . device ( 0 ):
model = bminf . wrapper ( model , quantization = False , memory_limit = 2 << 30 ) python gradio_server.py

Si ce projet vous aide à réduire le temps pour vous développer, vous pouvez me donner une tasse de café :)
Alipay (支付宝)

WeChatpay (微信)

Mit © kun