Implementasi kertas Open Source LLM:
RecurrentGpt: Generasi interaktif teks panjang (sewenang -wenang) .
[Kertas] [arxiv] [huggingface] [offical]
Konteks trafo ukuran tetap membuat model GPT tidak mampu menghasilkan teks panjang yang sewenang-wenang. Dalam makalah ini, kami memperkenalkan RecurrentGpt, simulacrum berbasis bahasa dari mekanisme kekambuhan dalam RNN. RecurrentGpt dibangun di atas model bahasa besar (LLM) seperti chatgpt dan menggunakan bahasa alami untuk mensimulasikan mekanisme memori jangka pendek yang panjang dalam LSTM. Di setiap timestep, RecurrentGPT menghasilkan paragraf teks dan memperbarui memori istilah pendek berbasis bahasa yang disimpan di hard drive dan prompt, masing-masing. Mekanisme kekambuhan ini memungkinkan RecurrentGpt untuk menghasilkan teks dengan panjang sewenang -wenang tanpa melupakan. Karena pengguna manusia dapat dengan mudah mengamati dan mengedit kenangan bahasa alami, RecurrentGpt dapat ditafsirkan dan memungkinkan pembuatan teks panjang interaktif. RecurrentGpt adalah langkah awal menuju sistem penulisan berbantuan komputer generasi berikutnya di luar saran pengeditan lokal. Selain memproduksi konten yang dihasilkan AI (AIGC), kami juga menunjukkan kemungkinan menggunakan RecurrentGpt sebagai fiksi interaktif yang secara langsung berinteraksi dengan konsumen. Kami menyebut penggunaan model generatif ini oleh `` AI sebagai Isi '' (AIAC), yang kami yakini merupakan bentuk AIGC konvensional berikutnya. Kami lebih lanjut menunjukkan kemungkinan menggunakan RecurrentGpt untuk membuat fiksi interaktif yang dipersonalisasi yang secara langsung berinteraksi dengan pembaca alih -alih berinteraksi dengan penulis. Secara lebih luas, RecurrentGpt menunjukkan kegunaan ide -ide meminjam dari desain model populer dalam sains kognitif dan pembelajaran mendalam untuk mendorong LLM.
Transformer 的固定尺寸上下文使得 gpt 模型无法生成任意长的文本。在本文中 , 我们介绍了 recurrentgpt , 一个基于语言的模拟 rnns 中的递归机制。Recurrentgpt 建立在大型语言模型( llm )之上 , 如 chatgpt , 并使用自然语言来模拟 lstm 中的长短时记忆机制。在每个时间段 , recurrentgpt 生成一段文字 , 并更新其基于语言的长短时记忆 , 分别存储在硬盘和提示器上。这种递归机制使 RecurrentGpt 能够生成任意长度的文本而不被遗忘。由于人类用户可以很容易地观察和编辑自然语言记忆 , 因此 因此 因此 因此 因此 因此 , , , , , , , , , , , , 并能互动地生成长文本。 并能互动地生成长文本。 , , , , , , , , , , , 我们还展示了使用 , , , , 我们还展示了使用 我们还展示了使用 recurrentgpt 作为直接与消费者互动的互动小说的可能性。我们称这种生成模型的使用为"AI sebagai Isi" (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
Anda harus menerapkan kunci API OpenAI terlebih dahulu. Kemudian
export OPENAI_API_KEY = "your key"
Unduh model vicuna. dan konfigurasikan di model/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 ()
Jika ingin menggunakan BMINF, maka tambahkan kode seperti di bawah ini:
with torch . cuda . device ( 0 ):
model = bminf . wrapper ( model , quantization = False , memory_limit = 2 << 30 )
python gradio_server.py
Jika proyek ini membantu Anda mengurangi waktu untuk berkembang, Anda dapat memberi saya secangkir kopi :)
Alipay (支付宝)
WeChatPay (微信)
MIT © Kun