精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

AI Agent 如何實現(xiàn)?6張4090 魔改Llama2:一句指令拆分任務、調(diào)用函數(shù)

人工智能 新聞
本周我們邀請「LLM魔改小組」成員「星野源」基于自己所維護的 Smart Agent 項目與大家分享如何通過魔改 AIDC-ai-business/Marcoroni-70B、codellama 34b/7b 完成「任務拆分」和「函數(shù)調(diào)用」實現(xiàn)自己的 AI Agent。

AI Agent 是時下熱門的一個方向,在 OpenAI 應用研究主管 LilianWeng 寫的萬字長文中[1],她提出 Agent = LLM+ 記憶 + 規(guī)劃技能 + 工具使用。


圖片

圖1 Overview of a LLM-powered autonomous agent system

簡單來說,Agent 就是借助 LLM 的強大語言理解能力、邏輯推理能力調(diào)用工具來幫助人類完成任務。但同時也存在著一些挑戰(zhàn),例如基礎模型的能力決定 agent 調(diào)用工具的效率,但基礎模型本身存在著大模型幻覺等問題。

本文以「輸入一段指令自動實現(xiàn)復雜任務拆分和函數(shù)調(diào)用」的場景為例,來構(gòu)建基礎 Agent 流程,并側(cè)重講解如何通過「基礎模型選擇」、「Prompt設計」等來成功構(gòu)建「任務拆分」和「函數(shù)調(diào)用」模塊。

項目地址:

https://sota.jiqizhixin.com/project/smart_agent

GitHub Repo:

https://github.com/zzlgreat/smart_agent

任務拆分&函數(shù)調(diào)用 Agent 流程

對于實現(xiàn)「輸入一段指令自動實現(xiàn)復雜任務拆分和函數(shù)調(diào)用」,項目構(gòu)建的 Agent 流程如下:

  • planner:根據(jù)用戶輸入的指令拆分任務。確定自己擁有的工具列表 toolkit,告訴拆分任務的大模型 planner 自己具有哪些工具,需要完成什么樣的任務,planner 把任務拆分為計劃 1,2,3...
  • distributor:負責選擇適當?shù)墓ぞ邅?toolkit 執(zhí)行計劃。函數(shù)調(diào)用模型需要根據(jù)計劃的不同分別選擇對應的工具。
  • worker:負責調(diào)用工具箱中的任務,并且返回任務調(diào)用的結(jié)果。
  • solver:整理出來的分布計劃和對應的結(jié)果組合為一個 long story,再由 solver 進行總結(jié)歸納。

圖片

圖1 《ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models》

為了實現(xiàn)上述流程,在「任務拆分」和「函數(shù)調(diào)用」模塊中,項目分別設計了兩個微調(diào)模型,來實現(xiàn)將復雜任務拆分并按需調(diào)用自定義函數(shù)的功能。歸納總結(jié)的模型 solver,可以和拆分任務模型相同。

微調(diào)任務拆分&函數(shù)調(diào)用模型

2.1 微調(diào)經(jīng)驗總結(jié)

在「任務拆分」模塊中,大模型需要具有將復雜任務分解為簡單任務的能力。「任務拆分」成功與否,極大程度上取決于兩點:

  • 基礎模型選擇:為了拆分復雜任務,選擇微調(diào)的基礎模型本身需要具備良好的理解和泛化能力,即根據(jù) prompt 指令拆分訓練集中未見的任務。目前來講,選擇高參數(shù)的大模型更容易做到這一點。
  • Prompt 設計:prompt 能否成功地調(diào)用模型的思維鏈,將任務拆分為子任務。

同時希望任務拆分模型在給定 prompt 模板下的輸出格式可以盡可能相對固定,但也不會過擬合喪失模型原本的推理和泛化能力,這里采取 lora 微調(diào) qv 層,對原模型的結(jié)構(gòu)改動盡可能地少。

在「函數(shù)調(diào)用」模塊中,大模型需要具備穩(wěn)定調(diào)用工具的能力,以適應處理任務的要求:

  • 損失函數(shù)調(diào)整:除選擇的基礎模型本身泛化能力、Prompt 設計外,為實現(xiàn)模型的輸出盡可能地固定、根據(jù)輸出穩(wěn)定調(diào)用所需函數(shù),采用「prompt loss-mask」的方法[2]進行 qlora 訓練(詳見下文闡述),并通過魔改 attention mask 的方式,在 qlora 微調(diào)中使用插入 eos token 的小技巧來穩(wěn)定住模型的輸出。

此外,在算力使用方面,通過 lora/qlora 微調(diào)實現(xiàn)了低算力條件下大型語言模型的微調(diào)和推理,并采用量化部署的方式,進一步降低推理的門檻。

2.2 基礎模型選擇

針對「任務拆分」模型的選擇,希望模型同時具備強泛化能力和一定的思維鏈能力。這里可以參考 HuggingFace 上 Open LLM Leaderboard 來選擇模型,更多關(guān)注的是衡量文本模型多任務準確性的測試 MMLU 和綜合評分 Average。

圖片

圖2 HuggingFace  Open LLM Leaderboard (0921)


本項目選定任務拆分模型型號為:

  • AIDC-ai-business/Marcoroni-70B:該模型基于 Llama2 70B 微調(diào),負責拆分任務。根據(jù) HuggingFace 上 Open LLM Leaderboard 顯示,該模型的 MMLU 和 average 都比較高,而且該模型的訓練過程中加入了大量的 Orca 風格的數(shù)據(jù),適用于多輪對話,在 plan-distribute-work-plan-work……summary 的流程中效果表現(xiàn)會更好。

針對「函數(shù)調(diào)用」模型的選擇,meta 開源的 Llama2 版代碼編程模型 CodeLlama 原始訓練數(shù)據(jù)包含了大量的代碼數(shù)據(jù),這樣就可以嘗試自定義腳本的 qlora 微調(diào)。針對函數(shù)調(diào)用的模型,選擇 CodeLlama 模型(34b/13b/7b 均可)作為基座。

本項目選定函數(shù)調(diào)用模型型號為:

  • codellama 34b/7b:負責函數(shù)調(diào)用的模型,該模型采用大量代碼數(shù)據(jù)訓練,代碼數(shù)據(jù)中必然包含大量對函數(shù)的描述類自然語言,對于給定函數(shù)的描述具有良好的 zero-shot 能力。

針對「函數(shù)調(diào)用」模型微調(diào),項目采用 prompt loss mask 的方式進行 qlora 訓練,以穩(wěn)定處理模型輸出。損失函數(shù)調(diào)整方式如下:

  • 損失掩碼 (loss_mask):
  1. loss_mask 是一個與輸入序列 input_ids 形狀相同的張量 (tensor)。每個元素都是 0 或 1,其中 1 表示對應的位置的標簽應被考慮在損失計算中,而 0 表示不應被考慮。
  2. 例如,如果某些標簽是填充的(通常是因為批處理中的序列長度不同),不想在損失的計算中考慮這些填充的標簽。在這種情況下,loss_mask 為這些位置提供了一個 0,從而遮蔽掉了這些位置的損失。
  • 損失計算:
  1. 首先,使用了 CrossEntropyLoss 來計算未 mask 的損失。
    設置 reductinotallow='none' 來確保為序列中的每個位置都返回一個損失值,而不是一個總和或平均值。
  2. 然后,使用 loss_mask 來 mask 損失。通過將 loss_mask 與 losses 相乘,得到了 masked_loss。這樣,loss_mask 中為 0 的位置在 masked_loss 中的損失值也為 0。
  • 損失聚合:
  1. 將所有的 masked_loss 求和,并通過 loss_mask.sum() 來歸一化。這確保了你只考慮了被 mask 為 1 的標簽的損失。為了防止除以零的情況,加一個很小的數(shù) 1e-9。
  2. 如果 loss_mask 的所有值都是 0(即 loss_mask.sum() == 0),那么直接返回一個 0 的損失值。

2.3 硬件需求:

  • 6*4090 for Marcoroni-70B’s 16bit lora
  • 2*4090 for codellama 34b’s qlora / 1*4090 for codellama 13/7b’s qlora

2.4 Prompt 格式設計

對于任務拆分,項目采用了大型語言模型高效推理框架 ReWOO(Reasoning WithOut Observation)[2] 中 planner 設計的 Prompt 格式。這里只需把'Wikipedia[input]'等函數(shù)替換為的函數(shù)和描述即可,該 prompt 示例如下:

For the following tasks, make plans that can solve the problem step-by-step. 
For each plan, indicate which external tool together with tool input to retrieve evidence. 
You can store the evidence into a variable #E that can be called by later tools. 
(Plan, #E1, Plan, #E2, Plan, ...) Tools can be one of the following: 
Wikipedia[input]: Worker that search for similar page contents from Wikipedia. 
Useful when you need to get holistic knowledge about people, places, companies, historical events, or other subjects.
The response are long and might contain some irrelevant information. Input should be a search query. 
LLM[input]: A pretrained LLM like yourself. Useful when you need to act with general world knowledge and common sense. 
Prioritize it when you are confident in solving the problem yourself. Input can be any instruction.

對于函數(shù)調(diào)用,因為后續(xù)會進行 qlora 微調(diào),所以直接采用 huggingface 上開源函數(shù)調(diào)用數(shù)據(jù)集 [3] 中的 prompt 樣式。請參見下文。

指令數(shù)據(jù)集準備

3.1 數(shù)據(jù)來源

  • 拆任務模型:Marcoroni-70B 采用的是 alpaca 的提示模板。該模型在 Llama2 70B 上進行指令微調(diào),為和原始模型的模板進行對齊,需采用 alpaca 格式的數(shù)據(jù)集。這里使用 rewoo 的 planner 數(shù)據(jù)集格式,但在原始數(shù)據(jù)集中只有調(diào)用 wiki 和自己的選項,所以可以套用該模板,并采用 gpt4 的接口來制作該樣式的數(shù)據(jù)集。
  • 函數(shù)調(diào)用模型:盡管所選用的 HuggingFace 開源函數(shù)調(diào)用的數(shù)據(jù)集的數(shù)據(jù)量較少(55 行),但 qlora 十分有效,在該數(shù)據(jù)集中還附帶了代碼訓練模板。

3.2 數(shù)據(jù)集格式

  • 任務拆分模型數(shù)據(jù)格式:alpaca
### Instruction:

  <prompt> (without the <>)

  ### Response:
  如:
  ### Instruction:
  For the following tasks, make plans that can solve the problem step-by-step. For each plan, indicate which external tool together with tool input to retrieve evidence. You can store the evidence into a variable #E that can be called by later tools. (Plan, #E1, Plan, #E2, Plan, ...) Tools can be one of the following:get_current_time[input]: Get the current time for now. search_bing[input]: Search the web for content on Bing, and return the top 10 results. Remember, the results may not as good as Wikipedia. If you think the result will not exist in wikipedia, use it. search_wiki[input]: Search the web for content on Wikipedia, and return the top 3 results. If you think the result can exist in wikipedia, use it. search_bilibili[input]: Search for videos on Bilibili, which is a website full of ACG. It can return top 10 search results. save_file[input]: save a file in the target dir which contains the data. query_mysql[input]: Execute the sql in the local mysql database. And return the result. 

  What movies did the director of 'Oppenheim' direct? List the top 10 best.

  ### Response:
  Step 1: Identify the director of "Oppenheimer" movie.
  #E1 = search_wiki("Director of Oppenheimer")

  Step 2: Retrieve information about the director's other works.
  If the retrieved name exists in Wikipedia, proceed with searching their filmography using search_wiki. Otherwise, try searching through Bing or another source like IMDb.

  For example, if Christopher Nolan is found as the director of "Oppenheimer":
  #E2 = search_bing("Filmography of Christopher Nolan")

  Step 3: Extract the list of films directed by this person from the retrieved information.
  From the returned results, extract the titles of the top 10 best movies according to critics/audience ratings or personal preference.


  • 函數(shù)調(diào)用模型數(shù)據(jù)格式:

這里采取 trelis 的數(shù)據(jù)集的格式。數(shù)據(jù)集量并不多,只有 55 行。結(jié)構(gòu)上其實也是 alpaca 格式。分為 systemPrompt,userPrompt,assistantResponse 分別對應 alpaca 的 Instruction,prompt,Response。示例如下:

圖片

圖3 HuggingFace 函數(shù)調(diào)用開源數(shù)據(jù)集示例

微調(diào)過程說明

4.1 微調(diào)環(huán)境

ubuntu 22.04 系統(tǒng),cuda 11.8,Pytorch 2.0.1,采取了 LLaMA-Efficient-Tuning 框架。Deepspeed 0.10.4

4.2 微調(diào)步驟

1)針對 Marcoroni-70B 的 lora 微調(diào)

  1. LLaMA-Efficient-Tuning 框架支持 deepspeed 集成,在訓練開始前輸入 accelerate config 進行設置,根據(jù)提示選擇 deepspeed zero stage 3,因為是 6 卡總計 144G 的 VRAM 做 lora 微調(diào),offload optimizer states 可以選擇 none, 不卸載優(yōu)化器狀態(tài)到內(nèi)存。
  2. offload parameters 需要設置為 cpu,將參數(shù)量卸載到內(nèi)存中,這樣內(nèi)存峰值占用最高可以到 240G 左右。gradient accumulation 需要和訓練腳本保持一致,這里選擇的是 4。gradient clipping 用來對誤差梯度向量進行歸一化,設置為 1 可以防止梯度爆炸。
  3. zero.init 可以進行 partitioned 并轉(zhuǎn)換為半精度,加速模型初始化并使高參數(shù)的模型能夠在 CPU 內(nèi)存中全部進行分配。這里也可以選 yes。

全部選擇完成后,新建一個訓練的 bash 腳本,內(nèi)容如下:

accelerate launch src/train_bash.py \
--stage sft \
--model_name_or_path your_model_path \
--do_train \
--dataset rewoo \
--template alpaca \
--finetuning_type lora \
--lora_target q_proj,v_proj \
--output_dir your_output_path \
--overwrite_cache \
--per_device_train_batch_size 1 \
--gradient_accumulation_steps 4 \
--lr_scheduler_type cosine \
--logging_steps 10 \
--save_steps 1000 \
--learning_rate 5e-6 \
--num_train_epochs 4.0 \
--plot_loss \
--flash_attn \
--bf16

這樣的設置需要的內(nèi)存峰值最高可以到 240G,但還是保證了 6 卡 4090 可以進行訓練。開始的時候可能會比較久,這是因為 deepspeed 需要對模型進行 init。之后訓練就開始了。

圖片

 圖4 6 卡 4090 訓練帶寬速度

共計用時 8:56 小時。本次訓練中因為主板上的 NVME 插槽會和 OCULINK 共享一路 PCIE4.0 x16 帶寬。所以 6 張中的其中兩張跑在了 pcie4.0 X4 上,從上圖就可以看出 RX 和 TX 都只是 PCIE4.0 X4 的帶寬速度。這也成為了本次訓練中最大的通訊瓶頸。如果全部的卡都跑在 pcie 4.0 x16 上,速度應該是比現(xiàn)在快不少的。

圖片

圖5 LLaMA-Efficient-Tuning 生成 loss 曲線

以上是 LLaMA-Efficient-Tuning 自動生成的 loss 曲線,可以看到 4 個 epoch 后收斂效果還是不錯的。

2)針對 codellama 的 qlora 微調(diào)

根據(jù)上文所述的 prompt loss mask 方法重構(gòu)了 trainer 類(見項目代碼倉庫 func_caller_train.py)。因為數(shù)據(jù)集本身比較小(55 行)。所以跑 4 個 epoch 只用了兩分鐘,模型很快達到了收斂。

4.3微調(diào)完成后的測試效果

在項目代碼倉庫中,提供了一個簡短可用的 toolkit 示例。里面的函數(shù)包括:

  1. 必應搜索
  2. 維基搜索
  3. bilibili 搜索
  4. 獲取當前時間
  5. 保存文件
  6. ...

現(xiàn)在有一個 70B 和一個 34B 的模型,在實際使用中,用 6 張 4090 同時以 bf16 精度運行這兩個模型是不現(xiàn)實的。但是可以通過量化的方法壓縮模型大小,同時提升模型推理速度。這里采用高性能 LLM 推理庫 exllamav2 運用 flash_attention 特性來對模型進行量化并推理。在項目頁面中作者介紹了一種獨特的量化方式,本文不做贅述。按照其中的轉(zhuǎn)換機制可以將 70b 的模型按照 2.5-bit 量化為 22G 的大小,這樣一張顯卡就可以輕松加載。

1)測試方法

給定一段不在訓練集中的復雜任務描述,同時在 toolkit 中添加訓練集中不包含的函數(shù)和對應描述。如果 planner 可以完成對任務進行拆分,distributor 可以調(diào)用函數(shù),solver 可以根據(jù)整個流程對結(jié)果進行總結(jié)。

2)測試結(jié)果

任務拆分:先使用 text-generation-webui 快速測試一下任務拆分模型的效果,如圖所示:

圖6 任務拆分測試結(jié)果

這里可以寫一個簡單的 restful_api 接口,方便在 agent 測試環(huán)境下的調(diào)用(見項目代碼 fllama_api.py)。

函數(shù)調(diào)用:在項目中已經(jīng)寫好了一個簡單的 planner-distributor-worker-solver 的邏輯。接下來就讓測試一下這個任務。輸入一段指令:what movies did the director of 'Killers of the Flower Moon' direct?List one of them and search it in bilibili.

「搜索 bilibili 」這個函數(shù)是不包含在項目的函數(shù)調(diào)用訓練集中的。同時這部電影也是一部還沒有上映的新電影,不確定模型本身的訓練數(shù)據(jù)有沒有包含。可以看到模型很好地將輸入指令進行拆分:

  • 從維基百科上搜索該電影的導演
  • 根據(jù) 1 的結(jié)果,從 bing 上搜索電影 Goodfellas 的結(jié)果
  • 在 bilibili 上搜索電影 Goodfellas

同時進行函數(shù)調(diào)用得到了以下結(jié)果:點擊結(jié)果是 Goodfellas,和該部電影的導演匹配得上。

總結(jié)

本項目以「輸入一段指令自動實現(xiàn)復雜任務拆分和函數(shù)調(diào)用」場景為例,設計了一套基本 agent 流程:toolkit-plan-distribute-worker-solver 來實現(xiàn)一個可以執(zhí)行無法一步完成的初級復雜任務的 agent。通過基礎模型的選型和 lora 微調(diào)使得低算力條件下一樣可以完成大模型的微調(diào)和推理。并采用量化部署的方式,進一步降低推理的門檻。最后通過該 pipeline 實現(xiàn)了一個搜索電影導演其他作品的示例,實現(xiàn)了基礎的復雜任務完成。

局限性:本文只是基于搜索和基本操作的 toolkit 設計了函數(shù)調(diào)用和任務拆分。使用的工具集非常簡單,并沒有太多設計。針對容錯機制也沒有太多考慮。通過本項目,大家也可以繼續(xù)向前一步探索 RPA 領(lǐng)域上的應用,進一步完善 agent 流程,實現(xiàn)更高程度的智能自動化提升流程的可管理性。

責任編輯:張燕妮 來源: 機器之心
相關(guān)推薦

2023-02-06 10:48:48

谷歌

2023-12-22 09:29:07

模型3D

2023-12-27 13:42:39

模型訓練

2011-03-28 15:48:52

批量數(shù)據(jù)綁定

2011-03-24 10:24:45

批量數(shù)據(jù)綁定

2023-09-04 19:09:00

訓練模型數(shù)據(jù)

2025-05-13 15:16:48

AI模型生成

2012-02-09 09:41:22

2023-08-21 10:36:23

2023-08-25 17:10:14

LLM人工智能

2022-09-23 13:57:11

xxl-job任務調(diào)度中間件

2024-02-05 09:00:00

2023-12-04 09:11:00

AI模型

2023-10-16 13:28:00

數(shù)據(jù)AI

2023-10-07 13:16:59

AI模型

2024-02-22 17:19:26

谷歌模型PC

2025-05-12 01:22:00

2025-08-06 01:11:00

AgentLangGraph工具

2023-10-04 08:16:04

點贊
收藏

51CTO技術(shù)棧公眾號

日本网站在线免费观看视频| avtt天堂在线| aaa大片在线观看| 国产乱妇无码大片在线观看| 欧美日韩电影在线观看| 国产免费无码一区二区| 人成在线免费网站| 久久精品亚洲麻豆av一区二区 | 日韩美女免费线视频| 成人性生交大免费看| 91精品美女| 亚洲精品少妇30p| 国产午夜精品一区| 99re热视频| 欧美日韩a区| 亚洲三级 欧美三级| 亚洲成人福利在线| 欧美日韩色网| 国产欧美一区二区精品久导航 | 精品毛片乱码1区2区3区| 97国产在线播放| 欧美成人性生活视频| 国产成+人+日韩+欧美+亚洲| 国产成人精品一区二区三区| 国产精品18在线| 日韩精品欧美大片| 欧美一区二区三区在线看| 九九视频精品在线观看| av在线播放资源| 亚洲六月丁香色婷婷综合久久| 欧美成人蜜桃| 三级在线观看网站| 国产精品一区二区三区乱码| 国产精品久久久久久久久| 日韩免费不卡视频| 欧美成人嫩草网站| x99av成人免费| 久久久久久久久久久久| 国产精伦一区二区三区| 日韩欧美中文一区二区| 奇米视频7777| 欧美美女福利视频| 在线欧美日韩国产| 日日摸日日碰夜夜爽av| 欧美freesex黑人又粗又大| 亚洲一区二区在线视频| 只有这里有精品| www在线视频| 亚洲嫩草精品久久| 国产成人精品免费看在线播放| 国产爆初菊在线观看免费视频网站| 91网上在线视频| 久久一区二区三区欧美亚洲| 亚洲区小说区图片区| av网站一区二区三区| 亚洲乱码一区二区| 欧美大尺度激情区在线播放| 成人网站免费观看| 丝袜美腿一区二区三区动态图| 欧美r级在线观看| 日韩高清一二三区| 波多野结衣在线一区二区| 日韩一区二区视频在线观看| 女王人厕视频2ⅴk| 永久免费精品视频| 日韩国产精品亚洲а∨天堂免| 污污污www精品国产网站| 欧美三级午夜理伦三级小说| 亚洲欧美999| 色欲AV无码精品一区二区久久| 大胆日韩av| www.日韩视频| 69av.com| 亚洲影音一区| 国产精品高潮呻吟久久av黑人| 最新中文字幕在线观看视频| 美日韩一级片在线观看| 成人黄在线观看| 性欧美18一19性猛交| 成人一区二区三区中文字幕| 好看的日韩精品视频在线| 神马久久高清| 日本一区二区动态图| 欧美爱爱视频网站| 男女羞羞视频在线观看| 大桥未久av一区二区三区| 午夜精品在线免费观看| 99综合久久| 亚洲精品按摩视频| 久久久视频6r| 自拍偷拍欧美专区| 欧美在线xxx| 一区二区国产欧美| 不卡的av在线播放| 中文字幕免费观看| 91香蕉国产视频| 欧美电影免费观看高清| 欧美日韩福利在线观看| 无码人妻丰满熟妇精品区| 国产一区二区三区在线观看免费| 国产精品免费一区二区三区四区 | 麻豆精品在线播放| 丁香婷婷久久久综合精品国产| 午夜国产在线观看| 亚洲欧洲av在线| 黄色网页免费在线观看| 在线免费成人| 亚洲午夜性刺激影院| 久久久香蕉视频| 美日韩一级片在线观看| 激情视频一区二区| 国产激情在线| 欧美综合久久久| 超碰caoprom| 天天射成人网| 国产成人精品久久| 欧美亚洲精品在线观看| 日韩美女精品在线| 国产福利一区视频| 女仆av观看一区| 欧美高清在线视频观看不卡| 中文字幕在线网站| 91免费国产在线观看| www.av蜜桃| 日韩第一区第二区| 深夜福利日韩在线看| 无码人妻精品一区二区蜜桃色欲| 成人aa视频在线观看| 国产三级中文字幕| 久久影视精品| 国产一区二区三区在线免费观看| 激情五月色婷婷| 国产xxx精品视频大全| 香蕉精品视频在线| 成人av色网站| 中文字幕亚洲无线码a| www毛片com| 久久这里只精品最新地址| 无码 制服 丝袜 国产 另类| 日韩视频一二区| 久久av在线播放| 一区二区三区免费在线| 国产精品色呦呦| 我看黄色一级片| 青青草成人影院| 国产精品男人的天堂| 撸视在线观看免费视频| 日韩欧美中文在线| wwwwxxxx国产| 日本欧美久久久久免费播放网| 欧美日韩高清在线一区| 夜鲁夜鲁夜鲁视频在线播放| 日韩高清有码在线| 久久精品五月天| 日本一区二区三区四区| 波多野结衣天堂| 久久国产小视频| 91九色单男在线观看| 黄色av网站在线播放| 欧美一区二区视频免费观看| 免费人成在线观看| 粉嫩蜜臀av国产精品网站| 成人黄色大片网站| 亚洲动漫在线观看| 日本欧美一级片| av二区在线| 欧美一区日韩一区| 国产在线观看免费av| 99久久久无码国产精品| 免费在线观看毛片网站| 成人免费av| 亚洲free嫩bbb| 999av小视频在线| 亚洲视频在线观看网站| 91麻豆视频在线观看| 一卡二卡欧美日韩| 久久久久亚洲av无码专区桃色| 奇米影视在线99精品| mm131午夜| 天海翼精品一区二区三区| 国产精品99久久久久久白浆小说 | 欧美中文在线视频| 国产小视频免费在线网址| 欧美日韩精品一区二区三区蜜桃| 国产免费无遮挡吸奶头视频| 久久一区精品| 狠狠干一区二区| av在线不卡精品| 精品综合久久久久久97| 欧美69xxxxx| 欧美一区二区私人影院日本| 探花视频在线观看| 中文字幕一区二区三区不卡| www国产视频| 天堂av中文在线资源库| 不卡av在线免费观看| 人妻丰满熟妇av无码区app| 国产精品二区不卡| 激情视频在线观看一区二区三区| 亚洲成人一区在线观看| 欧美激情精品久久久久久黑人| 黄色网址在线播放| 日韩欧美国产电影| 最近中文字幕在线观看| 亚洲国产你懂的| 亚洲色偷偷综合亚洲av伊人| 97精品国产97久久久久久久久久久久 | 亚洲一区二区三区四区av| 日本欧美在线观看| 国产精品网站免费| 中出一区二区| 特级西西444www大精品视频| 精品素人av| 不卡视频一区| 韩国精品视频在线观看| 青草青草久热精品视频在线观看| 午夜影院免费在线| 日韩中文综合网| 精品久久久久一区二区三区| 亚洲精品一区二区三区精华液 | 精品嫩草影院久久| 亚洲图片欧美在线| 日韩欧美主播在线| 日韩精品一区三区| 亚洲人午夜精品天堂一二香蕉| 天天躁日日躁aaaa视频| 91亚洲精华国产精华精华液| 少妇性l交大片7724com| 麻豆精品视频在线| 日韩一级片播放| 久久精品免费| 精品久久久久久久久久中文字幕| 欧美一区精品| 先锋影音男人资源| 国产精品久久久久9999赢消| 日韩av电影免费在线| 亚洲成aⅴ人片久久青草影院| 国产视色精品亚洲一区二区| 成人爽a毛片| 国产精品乱子乱xxxx| 国产精品日本一区二区不卡视频| 国产一区在线播放| 日韩久久一区| 91色精品视频在线| 国产精品一区免费在线| 成人天堂噜噜噜| 亚洲成人高清| 91美女高潮出水| 久久久久九九精品影院| 91免费视频国产| 视频成人永久免费视频| 91精品国产一区二区三区动漫| 日本一区二区三区电影免费观看| 91丝袜脚交足在线播放| 日韩一区二区三区精品视频第3页| 91久久在线观看| 少妇精品在线| 国产在线一区二区三区四区| 美女视频免费精品| 免费av一区二区三区| 国产成人三级| 亚洲一区bb| 一区二区三区四区日韩| 精品国产av无码一区二区三区| 亚洲精品123区| 欧美日韩中文在线视频| 日韩不卡一区二区| www.成人黄色| 成人免费毛片aaaaa**| jizz日本免费| 中文字幕第一区二区| 成熟的女同志hd| 福利微拍一区二区| 91丨九色丨海角社区| 欧美精品久久久久久久多人混战 | 日本五十路女优| 色婷婷精品大视频在线蜜桃视频| 国产裸体美女永久免费无遮挡| 欧美日本一区二区| 全国男人的天堂网| 一本久久综合亚洲鲁鲁| av网站网址在线观看| 欧美一级bbbbb性bbbb喷潮片| 视频精品导航| 国产美女精品在线观看| 国产精品探花在线观看| 三年中国中文在线观看免费播放| 一本色道久久综合一区| 亚洲综合色在线观看| 国产成人av网站| 久久成人激情视频| 亚洲另类在线视频| 秋霞av一区二区三区| 欧美一区二区成人6969| 欧洲综合视频| 欧美日韩999| 亚洲精品粉嫩美女一区| 国产99视频精品免费视频36| 欧美日韩播放| 免费网站在线观看视频| 日韩和欧美一区二区三区| 中文字幕人妻无码系列第三区| 久久久久久久免费视频了| 欧美日韩成人免费观看| 在线观看免费视频综合| 黄色av小说在线观看| 少妇av一区二区三区| 亚洲天堂资源| 国产激情美女久久久久久吹潮| 日韩免费一区| 国产aaa一级片| 国产裸体歌舞团一区二区| 人妻av无码一区二区三区| 亚洲一区二区三区影院| 中文字幕a级片| 亚洲精品永久免费| 欧美性受ⅹ╳╳╳黑人a性爽| 国产日韩av在线播放| 欧美欧美黄在线二区| 男人添女人下部高潮视频在观看| 国产尤物一区二区在线| 欧美激情 一区| 色综合天天性综合| 日韩一区免费视频| 欧美大片第1页| 九色精品蝌蚪| 浴室偷拍美女洗澡456在线| 免费美女久久99| 亚洲精品成人无码| 日韩欧美在线国产| 日本一区高清| 国产91成人在在线播放| 久久久久影视| 国产真人做爰毛片视频直播| 国产精品一二三区在线| 色欲一区二区三区精品a片| 欧美三级一区二区| 91社区在线观看播放| 国产精品久久电影观看| 欧美激情在线精品一区二区三区| 六月丁香婷婷激情| www国产亚洲精品久久麻豆| 日韩精品一区二区av| 亚洲精品狠狠操| 欧美xxxhd| 欧美极品色图| 日韩二区三区在线观看| 亚洲精品国产91| 欧美中文一区二区三区| eeuss影院www在线播放| 国产精品一区电影| 日韩精品免费一区二区在线观看| 久久婷婷国产91天堂综合精品| 国产亚洲欧美日韩在线一区| 黄色大全在线观看| www.久久撸.com| 国产精品久一| 免费在线黄网站| 91麻豆国产在线观看| 国产午夜麻豆影院在线观看| 一区二区亚洲欧洲国产日韩| 欧美一级做a| 成人手机在线播放| caoporm超碰国产精品| 精品国产午夜福利| 中国日韩欧美久久久久久久久| 精品久久在线| 免费看日本黄色| 99re在线视频这里只有精品| 亚洲大片免费观看| 日韩视频在线一区| 草莓视频一区二区三区| 激情综合在线观看| 国产精品乱人伦| 国产v片在线观看| 97香蕉久久超级碰碰高清版| 欧美人妖在线| 一区二区三区人妻| 欧美日韩亚洲一区二区三区| 1024国产在线| 国产精品日本一区二区| 日韩精品成人一区二区三区| 免费精品在线视频| 亚洲黄色www| 久久精品嫩草影院| av日韩一区二区三区| 国产日产亚洲精品系列| 99精品视频免费看| 欧美孕妇与黑人孕交| 婷婷久久综合| 粉嫩av蜜桃av蜜臀av| 欧美一区二区三区视频免费播放 | 91精品久久久久久| 亚洲美女视频在线免费观看| 丁香激情五月少妇| 亚洲精品一区二区三区精华液| 成人黄页网站视频| 欧美一区二区中文字幕| 亚洲欧美激情插| 国产一区二区三区福利|