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

OpenAI回歸開源:gpt-oss-120b和gpt-oss-20b完整指南 原創

發布于 2025-8-15 08:17
瀏覽
0收藏

本文將向你介紹OpenAI新發布的兩個開源模型--gpt-oss-120b和gpt-oss-20b,它們的特點,以及在何種場景下該使用哪個模型。?

近期,OpenAI發布了兩個開源的大語言模型(LLM)--gpt-oss-120b和gpt-oss-20b。它們是自GPT-2以來,由OpenAI第一個公開許可的LLM。其旨在創建最好、最先進的、供推理和工具使用的模型。通過開源gpt-oss,OpenAI允許人們在Apache 2.0的范圍內,自由地使用和適配。當然,這兩種模式也考慮了專業個性化,以及定制到本地和上下文任務的民主化方法。

在本文指南中,我們將介紹如何獲取gpt-oss-120b和gpt-oss-20b服務,以及在何種場景下使用哪個模型。

gpt-oss的特別之處

OpenAI本次新開源的模型是自GPT-2以來最強大的公共模型。其先進之處主要體現在:

  • 開放的Apache 2.0許可證:gpt-oss的各種模型不但完全開源,并且是根據Apache 2.0許可證提供授權的。這意味著,它們沒有任何copyleft限制,開發人員可以將其用于研究或商業產品,且無需許可費或源代碼義務。
  • 可配置的推理水平:gpt-oss獨特的功能在于用戶可以輕松地將模型的推理能力配置為:低、中或高。這是速度與“思考”深度的權衡。使用“淺推理”和“深度推理”分別會讓模型在回答之前進行少量與深度的“思考”。
  • 全思考鏈(Chain-of-Thought)訪問:與許多封閉模型不同,gpt-oss展示了其內部推理。它有一個默認的分析輸出,即推理步驟通道,以指向最終答案通道。用戶和開發人員可以檢查或過濾輸出部分,以調試或信任模型的推理。
  • 原生代理功能:gpt-oss模型建立在代理工作流之上。它們是為遵循指令而構建的,而且在“思考”中使用了工具的原生支持。

模型概述和架構

這兩個gpt-oss模型都基于Transformer網絡,采用了專家混合(Mixture-of-Experts,MoE)設計。在MoE中,只有完整參數(即“專家”)的子集才對于每個輸入的token有效,從而減少了計算。我們來看一組數字:

  • gpt-oss-120b的總參數量為1170億個(36層)。它使用了128個專家子網絡,每個token都有4個活躍的專家,也就是說每個token能生成51億個活躍參數。
  • gpt-oss-20b的總參數量為210億個(24層),它有32個專家(4個活躍),每個token產生約36億個活躍參數。同時,該架構還包括了一些高級功能,例如:所有注意力層(attention layer)都使用旋轉位置嵌入(Rotary Positional Embeddings,RoPE)來處理過長的上下文(最多128,000個token),以便注意力本身在全局滑動窗口和128 token的滑動窗口之間交替進行。該設計類似于GPT-3。
    此外,這些模型使用了大小為8的分組多查詢注意力,以節省內存,同時也保持了快速推理能力。由于其激活函數是SwiGLU,因此所有專家權重都被量化為4位的MXFP4格式,以允許大型模型適配80GB GPU,讓小型模型適配16GB,而不會造成重大的準確性損失。
    下表總結了其核心規格參數:

模型?

層?

總參數?

活躍參數/token

專家(總計/活躍)?

上下文?

gpt-oss-120b

36

117B

5.1B

128 / 4

128K

gpt-oss-20b

24

21B

36B

32/4

128K

技術規格和許可

  • 硬件要求:gpt-oss-120b需要高端GPU(約80-100 GB VRAM),并在單個80 GB A100/H100級GPU或多GPU的設置上運行。而gpt-oss-20b相對較輕,即使在筆記本電腦或蘋果Silicon上也能以約16 GB VRAM運行。同時,這兩種型號都支持128K token的上下文,非常適合冗長的文檔,以及密集型計算。
  • 量化和性能:這兩種型號都使用4位的MXFP4作為默認值,其有助于減少內存的使用,并加快推理速度。當然,如果沒有兼容的硬件,它們會回落到16位,并且需要約48 GB供給gpt-oss-20b。此外,使用FlashAttention等可選的高級內核,也可以進一步提高計算速度。
  • 許可證和使用:基于Apache 2.0發布,這兩種型號都可以被自由地使用、修改和分發,甚至用于商業用途,而無版權或代碼共享的要求,更無API費用或許可證限制。

技術規格?

gpt-oss-120b

gpt-oss-20b

總參數

1170億

210億

每個token的活躍參數

51億

36億

架構

帶有128專家的MoE(4個活躍/token)

帶有32專家的MoE(4個活躍/token)

Transformer塊

36層

24層

上下文窗口

128,000個token

128,000個token

內存要求

80 GB(適合單個H100 GPU)

16GB

安裝和設置過程

下面我們來看看如何上手使用gpt-oss:

Hugging Face Transformers:請安裝其最新的庫,并直接加載模型。以下安裝命令是必要的先決條件:

pip install --upgrade accelerate transformers

以下代碼可從Hugging Face hub處下載所需的模型。

from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("openai/gpt-oss-20b")
model = AutoModelForCausalLM.from_pretrained(
 "openai/gpt-oss-20b", device_map="auto", torch_dtype="auto")

下載模型后,你可以使用以下方式進行測試:

messages = [
 {"role": "system", "content": "You are a helpful assistant."},
 {"role": "user", "content": "Explain why the sky is blue."}
]
inputs = tokenizer.apply_chat_template(
 messages, add_generation_prompt=True, return_tensors="pt"
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=200)
print(tokenizer.decode(outputs[0]))

此設置可從OpenAI指南中獲得,并在任何GPU上運行。為了在NVIDIA A100/H100卡上獲得最佳速度,請安裝triton內核,以使用MXFP4;否則該模型將會在內部使用16位。

vLLM:對于高吞吐量或多GPU服務,你可以使用vLLM庫。OpenAI在2x H100s上可以實現,你可以使用以下命令安裝vLLM:

pip install vllm

接著你可以通過以下命令啟動服務器:

vllm serve openai/gpt-oss-120b --tensor-parallel-size 2

或者在Python中,使用:

from vllm import LLM
llm = LLM("openai/gpt-oss-120b", tensor_parallel_size=2)
output = llm.generate("San Francisco is a")
print(output)

這其實是在Hopper GPU上使用優化的注意力內核。

Ollama(Mac/Windows上的本地):Ollama是本地聊天服務器的turnkey。安裝??Ollama??后,只需運行:

ollama pull gpt-oss:20b
ollama run gpt-oss:20b

這將下載(量化)模型并啟動用戶聊天界面。Ollama會默認自動應用“harmony”格式的聊天模板。你也可以通過API調用它。例如,使用Python和OpenAI SDK指向Ollama的終端:

from openai import OpenAI
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
response = client.chat.completions.create(
 model="gpt-oss:20b",
 messages=[
 {"role": "system", "content": "You are a helpful assistant."},
 {"role": "user", "content": "Explain what MXFP4 quantization is."}
 ]
)
print(response.choices[0].message.content)

它會像官方API一樣,將提示詞發送給本地gpt-oss模型。

Llama.cpp(CPU/ARM):提供預構建的GGUF版本(例如,ggml-org/GPT-Oss-120b-GGUF on Hugging Face)。安裝llama.cpp后,你可以在本地構建服務模型:

# macOS:
brew install llama.cpp
# Start a local HTTP server for inference:

llama-server -hf ggml-org/gpt-oss-120b-GGUF -c 0 -fa --jinja --reasoning-format none

然后以相同的格式將聊天消息發送到???http://localhost:8080???。此選項允許在具有JIT或Vulkan支持的CPU或GPU-agnostic的環境中運行。

總體而言,gpt-oss模型可以與最常見的框架一起使用。上述方法(如:Transformers、vLLM、Ollama、llama.cpp)涵蓋了桌面和服務器設置。你也可以進行混合配置。例如,運行一個用于快速推理的設置(如:在GPU上的vLLM)和另一個用于設備測試的設置(如:Ollama或llama.cpp)。

實際操作演示部分

任務 1:推理任務

提示詞:選擇與第三個術語相關的選項,就像第二個術語與第一個術語相關的方式一樣。

IVORY : ZWSPJ :: CREAM : ?

  • NFDQB
  • SNFDB
  • DSFCN
  • BQDZL
import os
os.environ['HF_TOKEN'] = 'HF_TOKEN'
from openai import OpenAI
client = OpenAI(
 base_url="https://router.huggingface.co/v1",
 api_key=os.environ["HF_TOKEN"],
)
completion = client.chat.completions.create(
 model="openai/GPT-Oss-20b", # openai/GPT-Oss-120b Change to use 120b model
 messages=[
 {
 "role": "user",
 "content": """Select the option that is related to the third term in the same way as the second term is related to the first term.
 IVORY : ZWSPJ :: CREAM : ?
A. NFDQB
B. SNFDB
C. DSFCN
D. BQDZL
"""
 }
 ],
)
# Check if there's content in the main content field
if completion.choices[0].message.content:
 print("Content:", completion.choices[0].message.content)
else:
 # If content is None, check reasoning_content
 print("Reasoning Content:", completion.choices[0].message.reasoning_content)
# For Markdown display in Jupyter
from IPython.display import display, Markdown
# Display the actual content that exists
content_to_display = (completion.choices[0].message.content or
 completion.choices[0].message.reasoning_content or
 "No content available")

gpt-oss-120b的響應為:

Content: **Answer: C. DSFCN**
1
Answer: C. DSFCN
display (Markdown (content_to_display))

gpt-oss-20b的回應為:

display (Markdown (content_to_display))
→ Letters of CREAM: C=3, R=18, E=5, A=1, M=13.
Option A: NFDQB: N=14, F=6, D=4, Q=17, B=2. Differences: +11, -12, -1, +16, -11? Let's compute: 3->14 diff +11.
18->6 diff -12 or +14 mod 26. 5->4 diff -1. 1->17 diff +16. 13->2 diff -11 or +15 mod 26.
Option B: SNFDB: S=19, N=14, F=6, D=4, B=2. Diffs: +16, -4, +1, +3, -11? Actually 1->? Wait 1 is A -> D=4 diff +3. 13->2 diff -11.
Option C: DSFCN: D=4, S=19, F=6, C=3, N=14. Diffs: +1, -4? 18->19 +1? Wait from R=18 to S=19 diff +1. 5->6 +1. 1->3 +2. 13->14 +1. So diff pattern from CREAM: +1, +1, +1, +2, +1? Hmm.
Option D: BQDZL: B=2, Q=17, D=4, Z=26, L=12. Diffs: -1? 3->2-1. 18->17 - 1. 5->4 -1. 1->26 -? 1->26 diff+25 or
1 but need wrap: 1 to 26 is -1 mod 26? Actually 26-1=25; but shift -1? 13->12 -1. So pattern differences:
1,-1,-1,-1,-1. That looks like constant shift -1. Wait check: A-> difference of -1? But from A to Z one position back yields Z. So -1 shift for each letter.
But CREAM to BQDZL: C(3)->B(2) diff -1; R(18)->Q(17) diff -1; E(5)->D(4) diff -1; A(1)->Z(26) diff -1; M(13)-
>L(12) diff -1. Yep exactly each letter minus 1 circularly. So mapping from IVORY to ZWSPJ: Let's check if shift is also -1 for all letters? IVORY: I(9)->Z(26) diff -? 9-1=8 which is H, not Z. So not -1. Let's try shift +? but maybe we mis-evaluated earlier differences incorrectly? Let's compute mapping of letters of IVORY to ZWSPJ if shift is +? compute 9 > 26: difference +17. 22 ->23: +1. 15 ->19: +4. 18->16: -2. 25->10: -15 or +11. So not constant.
But mapping for CREAM to BQDZL is constant -1. Could that be the same rule that applied to IVORY? Let's see if maybe we mis-check: maybe we should shift each letter of IVORY +? to get ZWSPJ. Check if shift is maybe +10?
9+10=19 -> S, not Z. Maybe shift is +? maybe it's variable: first letter shift by +17, second +1, etc. Might correspond to the positions of C and D? Maybe shift pattern equal to letters of "IRIS"? Hard.
But maybe we mis-evaluated mapping: Let's just brute force compute if there's any simple transformation for
IVORY to ZWSPJ that could also apply to CREAM making one of options. Because four options: NFDOB (option
A) etc. Maybe only one will match a pattern that also holds for IVORY->ZWSPJ.
Maybe we need to deduce mapping from the two words: find the key that transforms first to second. Could be a Caesar shift based on some rule like shift each letter by number of letters same as preceding letter's position difference? For example: I shift by something, produce Z. Let's see I->Z: difference 17. Maybe shift equals difference between l's position in alphabet and length of word? 9-5=4? Not 17. difference between number of letters before I? No.
Maybe mapping uses the second word's letters as "reference" like "Z" is the 26th letter which equals sum of I (9) +
V 22) + 0(15) + R18) + Y25) = 9+22+15+18+25=89; 89 mod 26 = 11? not 26.

比較分析?

gpt-oss-120B正確地識別了類比中的相關模式,并通過深思熟慮的推理選擇了選項C。因為它有條不紊地解釋了單詞對之間的字符轉換,因此獲得了正確的映射。另一方面,gpt-oss-20B未能在此任務上產生任何結果,則可能是因為輸出token的限制,也就揭示了輸出長度的局限性,以及計算效率的低下。總體而言,gpt-oss-120B能夠更好地管理符號推理,具有更多的控制和準確性。可見,對于此類涉及到語言類比的推理任務而言,gpt-oss-120B比gpt-oss-20B更可靠。

任務2:代碼生成

提示詞:給定兩個大小分別為m和n的排序數組nums1和nums2,返回兩個排序數組的中位數。

在C++中,總體運行時復雜度應該是O(log(m+n))。

示例1:

輸入:nums1 = [1,3],nums2 = [2]

輸出:2.00000

解釋:合并數組=[1,2,3],中位數為2。

示例2:

輸入:nums1 = [1,2],nums2 = [3,4]

輸出:2.50000

解釋:合并數組=[1,2,3,4],中位數為(2 + 3)/2 = 2.5。

約束:

nums1.length==m

nums2.length==n

0 <= m <= 1000

0 <= n <= 1000

1 <= m + n <= 2000

-106 <= nums1[i],nums2[i] <= 106

import os
from openai import OpenAI
client = OpenAI(
 base_url="https://router.huggingface.co/v1",
 api_key=os.environ["HF_TOKEN"],
)
completion = client.chat.completions.create(
 model="openai/GPT-Oss-120b", # openai/GPT-Oss-20b change to use 20b model
 messages=[
 {
 "role": "user",
 "content": """Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
 The overall run time complexity should be O(log (m+n)) in C++.
 Example 1:
 Input: nums1 = [1,3], nums2 = [2]
 Output: 2.00000
 Explanation: merged array = [1,2,3] and median is 2.
 Example 2:
 Input: nums1 = [1,2], nums2 = [3,4]
 Output: 2.50000
 Explanation: merged array = [1,2,3,4] and median is (2 + 3) / 2 = 2.5.
 Constraints:
 nums1.length == m
 nums2.length == n
 0 <= m <= 1000
 0 <= n <= 1000
 1 <= m + n <= 2000
 -106 <= nums1[i], nums2[i] <= 106
"""
 }
 ],
)
# Check if there's content in the main content field
if completion.choices[0].message.content:
 print("Content:", completion.choices[0].message.content)
else:
 # If content is None, check reasoning_content
 print("Reasoning Content:", completion.choices[0].message.reasoning_content)
# For Markdown display in Jupyter
from IPython.display import display, Markdown
# Display the actual content that exists
content_to_display = (completion.choices[0].message.content or
 completion.choices[0].message.reasoning_content or
 "No content available")

gpt-oss-120b的響應為:

include <bits/stdc++.h>
using namespace std;
class Solution {
public:
 double findMedianSortedArrays(const vector<int>& nums1,
 const vector<int>& nums2) {
 // Let A be the shorter array.
 const vector<int>* A = &nums1;
 const vector<int>* B = &nums2;
 if (A->size() > B->size()) swap(A, B); // now |A| ≤ |B|
 int m = A->size();
 int n = B->size();
 int total = m + n;
 int half = (total + 1) / 2; // size of left part
 int low = 0, high = m; // we search over number of elements taken from A
 while (low <= high) {
 int i = (low + high) / 2; // elements from A on the left side
 int j = half - i; // must come from B
 // Edge handling: use infinities for out?of?range indices
 int a_left = (i == 0 ? INT_MIN : (*A)[i - 1]);
 int a_right = (i == m ? INT_MAX : (*A)[i]);
 int b_left = (j == 0 ? INT_MIN : (*B)[j - 1]);
 int b_right = (j == n ? INT_MAX : (*B)[j]);
 if (a_left > b_right) { // i too large
 high = i - 1;
 } else if (b_left > a_right) { // i too small
 low = i + 1;
 } else { // correct split
 int max_left = max(a_left, b_left);
 if (total % 2 == 1) // odd
 return static_cast<double>(max_left);
 int min_right = min(a_right, b_right);
 return (max_left + min_right) / 2.0;
 }
 }
 // The code never reaches here because the constraints guarantee at least one element.
 return 0.0;
 }
};
/* Example usage
int main() {
 Solution s;
 vector<int> a = {1, 3};
 vector<int> b = {2};
 cout << fixed << setprecision(5) << s.findMedianSortedArrays(a, b) << endl; // 2.00000
 a = {1,2};
 b = {3,4};
 cout << fixed << setprecision(5) << s.findMedianSortedArrays(a, b) << endl; // 2.50000
}

gpt-oss-20b的響應為

# Reference Implementation (C++17)
include <bits/stdc++.h>
using namespace std;
class Solution {
public:
 double findMedianSortedArrays(vector<int>& nums1,
 vector<int>& nums2) {
 // Ensure nums1 is the shorter array
 if (nums1.size() > nums2.size())
 return findMedianSortedArrays(nums2, nums1);
 int m = nums1.size();
 int n = nums2.size();
 int low = 0, high = m;
 int halfLen = (m + n + 1) / 2; // size of left part
 while (low <= high) {
 int i = (low + high) / 2; // partition in nums1
 int j = halfLen - i; // partition in nums2
 // i too small - must move right
 if (i < m && nums2[j-1] > nums1[i])
 low = i + 1;
 // i too big - must move left
 else if (i > 0 && nums1[i-1] > nums2[j])
 high = i - 1;
 else {
 // correct partition found
 int maxLeft;
 if (i == 0)
 maxLeft = nums2[j-1];
 else if (j == 0)
 maxLeft = nums1[i-1];
 else
 maxLeft = max(nums1[i-1], nums2[j-1]);
 // odd total, median is maxLeft
 if ((m + n) % 2 == 1)
 return static_cast<double>(maxLeft);
 // even total, need minRight as well
 int minRight;
 if (i == m)
 minRight = nums2[j];
 else if (j == n)
 minRight = nums1[i];
 else
 minRight = min(nums1[i], nums2[j]);
 return (maxLeft + minRight) / 2.0;
 }
 }
 // Should never reach here for valid input
 return 0.0;
 }
};
/* Example usage:
int main() {
 Solution s;
 vector<int> a = {1, 3};
 vector<int> b = {2};
 cout << fixed << setprecision(5) << s.findMedianSortedArrays(a, b) << endl; // 2.00000
}

比較分析?

gpt-oss-120B準確地完成了類比,選擇了選項C,并通過成功地識別字母替換模式,顯示了強有力的理由。該模型在處理字母振蕩的轉變和跟蹤事物之間的關系方面,顯示了良好的推理。與之對比,gpt-oss-20B甚至無法完成任務。該模型超過了輸出token的限制,沒有返回答案。這表明gpt-oss-20B在資源使用或處理提示方面效率低下。總體而言,gpt-oss-120B在結構推理任務中表現得更好,這使得它比gpt-oss-20B更擅長與符號類比相關的任務。

模型選擇指南

在120B和20B模型之間如何進行選擇,完全取決于項目需求或我們正在處理的任務。通常:

  • gpt-oss-120b:是一種大功率模型,可將其用于較為困難的推理任務、復雜的代碼生成、數學問題解決或特定領域的問答。它的性能接近OpenAI的o4-mini模型。因此,它需要一個具有80GB以上 VRAM的大型GPU來運行,并且能在視分步推理至關重要的基準和長形式(long-form)任務中表現出色。
  • gpt-oss-20b:是一個針對效率優化的“苦干”模型。在許多基準測試中,它與OpenAI的o3-mini的質量相匹配,但可以在單個16GB VRAM上運行。當你需要快速的設備響應助手、低延遲聊天機器人、或使用網絡搜索、及Python調用的工具時,請選擇20B。它非常適合概念驗證、移動/邊緣應用、或硬件受限的場景使用。在許多情況下,20B模型的回答已足夠好。例如,它在某項困難的數學競賽任務中的得分約為96%,幾乎與120B相當。

性能基準和比較

在標準化基準方面,OpenAI的各個gpt-oss可以共享結果。目前,120B模型正在不斷迭代。它在艱難的推理和知識任務上的得分已高于20B模型,雖然目前兩者仍各有千秋。

基準?

gpt-oss-120b

gpt-oss-20b

開放AI o3

OpenAI o4-mini

MMLU

90.0

85.3

93.4

93.0

GPQA Diamond

80.1

71.5

83.3

81.4

Humanity’s Last Exam

19.0

17.3

24.9

17.7

AIME 2024

96.6

96.0

95.2

98.7

AIME 2025

97.9

98.7

98.4

99.5

基準?

gpt-oss-120b

gpt-oss-20b

開放AI o3

OpenAI o4-mini

MMLU

90.0

85.3

93.4

93.0

GPQA Diamond

80.1

71.5

83.3

81.4

Humanity’s Last Exam

19.0

17.3

24.9

17.7

AIME 2024

96.6

96.0

95.2

98.7

AIME 2025

97.9

98.7

98.4

99.5

OpenAI回歸開源:gpt-oss-120b和gpt-oss-20b完整指南-AI.x社區

來源:???ChatGPT???

OpenAI回歸開源:gpt-oss-120b和gpt-oss-20b完整指南-AI.x社區

來源:??ChatGPT??

用例和應用

以下是gpt-oss的一些典型用例場景:

  • 內容生成和重寫:生成或重寫文章、故事或營銷文案。gpt-oss模型可以在寫作前描述他們的思維過程,并幫助作家和記者創建更好的內容。
  • 輔導和教育:可以演示描述概念的不同方式,一步一步地解決問題,并為教育應用或輔導工具和醫學提供反饋。
  • 代碼生成:可以很好地生成代碼、調試代碼或解釋代碼。gpt-oss模型也可以在內部運行工具,允許它們輔助開發任務或作為編碼助手提供幫助。
  • 研究協助:可以總結文檔,回答特定領域的問題,并分析數據。gpt-oss的模型也可以針對法律、醫學或科學等特定研究領域進行微調。
  • 自主代理:啟用并使用工具構建帶有自主代理的機器人。這些機器人可以瀏覽網頁、調用API或運行代碼。它們便捷地與代理框架集成,以構建更復雜的基于步驟的工作流。

小結

綜上所述,在OpenAI發布的兩個開源模型gpt-oss-120b和gpt-oss-20b中,120B模型全面表現優秀,特別是在:生成更清晰的內容,解決更難的問題,編寫更好的代碼,并更快地適應研究和自主任務等方面。當然,其短板在于資源利用強度較高,給本地部署帶來了一定挑戰。

譯者介紹

陳峻(Julian Chen),51CTO社區編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗。

原文標題:??OpenAI Returns to Open Source: A Complete Guide to gpt-oss-120b and gpt-oss-20b??,作者:Vipin Vashisth

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
亚洲精品在线观看av| 国产极品尤物在线| 国产精品高潮呻吟av| 性欧美欧美巨大69| 日韩一区二区三区视频| 日韩精品一区二区在线视频| 日韩在线观看视频一区| 亚洲乱码电影| 欧美mv日韩mv| www.xxx亚洲| 久草中文在线| 99视频一区二区| 国产suv精品一区二区| 粉嫩精品久久99综合一区| 91精品福利观看| 亚洲电影在线播放| 色婷婷精品国产一区二区三区| 亚洲系列在线观看| 欧美日韩爆操| 亚洲欧洲一区二区三区久久| 欧美性久久久久| 精品自拍一区| 91免费看视频| 成人欧美在线观看| 日韩欧美三级在线观看| 国产suv精品一区| 偷拍日韩校园综合在线| 亚洲一区3d动漫同人无遮挡 | www.我爱av| 日本不卡高清视频| 45www国产精品网站| 天天看片中文字幕| 天天影视天天精品| 最近2019中文免费高清视频观看www99| 日韩aaaaa| 亚洲一区二区免费在线观看| 欧美精品一二三四| 成人黄色一区二区| 成人做爰视频www网站小优视频| 亚洲电影在线播放| 国产一线二线三线女| 中文字幕中文字幕在线中高清免费版| 国产精品女同一区二区三区| 日本一区二区久久精品| 男女视频在线观看| 久久久激情视频| 久久精品五月婷婷| 性感美女一级片| 99九九99九九九视频精品| 成人欧美一区二区三区视频| av加勒比在线| 精品一区二区免费| 91人人爽人人爽人人精88v| 中文字幕+乱码+中文| 免费在线观看日韩欧美| 国产精品视频久久久| 综合久久中文字幕| 美女脱光内衣内裤视频久久影院| 国产精品久久久久久久久借妻| 免费观看日批视频| 免费一级欧美片在线观看| 国产精品xxxxx| 成人免费一区二区三区| 国产真实精品久久二三区| 成人网欧美在线视频| 国产丝袜在线视频| 粉嫩av一区二区三区粉嫩| 国产精品一区二区三区在线| 手机福利在线| 国产目拍亚洲精品99久久精品| 亚洲精品乱码久久久久久蜜桃91| 中国日本在线视频中文字幕| 一区二区三区在线视频观看 | 熟女少妇内射日韩亚洲| 成人三级视频| 超碰97人人做人人爱少妇| 丰满少妇高潮久久三区| 午夜dv内射一区二区| 中文字幕一区二区三区人妻四季 | 国产九色91回来了| 久久精品久久综合| 亚洲xxxx视频| 中文字幕在线观看91| 97色成人综合网站| 精品一区二区三区电影| 国产农村妇女精品一区| 综合五月婷婷| 青草青草久热精品视频在线网站| 在线中文字幕网站| 成人亚洲精品久久久久软件| 免费看污久久久| 超碰公开在线| 欧美性xxxxx极品| 想看黄色一级片| 好吊妞视频这里有精品 | 欧美优质美女网站| 无人码人妻一区二区三区免费| 日本久久成人网| 日韩中文理论片| 黄色片视频网站| 国产主播一区二区| 青青成人在线| 久久亚洲资源| 精品视频色一区| 久久久久久婷婷| 清纯唯美日韩| 欧美一区视频在线| 91禁在线观看| 久久久久久久免费视频了| 波多野结衣与黑人| 粉嫩av一区二区三区四区五区| 精品福利一二区| 999精品视频在线观看播放| 99精品免费视频| 91网站在线免费观看| 国产区视频在线播放| 亚洲自拍偷拍麻豆| 五月六月丁香婷婷| 第四色成人网| 国产成人精品免费久久久久| 欧美性猛交 xxxx| 亚洲欧美偷拍另类a∨色屁股| 日本精品www| 久久久久观看| 欧美高清电影在线看| 色av性av丰满av| 不卡av免费在线观看| 日韩a级黄色片| 免费视频成人| 国产一区二区三区丝袜 | 黄色国产网站在线播放| 在线观看不卡一区| 一区二区黄色片| 性欧美暴力猛交另类hd| 精品欧美日韩| 国产精选在线| 日韩高清av一区二区三区| 青春草免费视频| 国产精品正在播放| 51xx午夜影福利| 国产精品美女久久久久| 日韩一级黄色av| 96日本xxxxxⅹxxx17| 国产精品卡一卡二卡三| 久久久国产欧美| 精品国产中文字幕第一页| 热草久综合在线| 经典三级在线| 欧美日韩大陆一区二区| 天堂网中文在线观看| 久久成人免费日本黄色| 佐佐木明希av| 亚洲一二av| 96精品视频在线| 你懂的视频在线播放| 色噜噜偷拍精品综合在线| 日韩丰满少妇无码内射| 日本成人中文字幕在线视频| 少妇精品久久久久久久久久| 成人黄色图片网站| 美日韩精品视频免费看| 亚洲成人77777| 亚洲成人av电影在线| 精品国产av色一区二区深夜久久| 午夜影院日韩| 亚洲图片都市激情| 亚洲精品观看| 欧美一级黑人aaaaaaa做受| 国内在线免费高清视频| 欧美日韩国产另类一区| 美国黄色小视频| k8久久久一区二区三区| 欧美日韩亚洲第一| 日韩欧美伦理| 国产另类自拍| 久久xxx视频| 精品少妇v888av| 三级在线观看| 欧美精品在线一区二区三区| 久久久久黄色片| 国产亚洲福利社区一区| 最好看的中文字幕| 亚洲欧美日本国产专区一区| 四虎一区二区| swag国产精品一区二区| 日韩av电影手机在线| 超碰在线caoporn| 日韩精品极品毛片系列视频| 亚洲天堂中文字幕在线| 亚洲成av人片一区二区梦乃| 狂野欧美性猛交| 北条麻妃一区二区三区| 欧美成人黄色网址| 99精品国产在热久久下载| 中日韩在线视频| 日本妇女一区| 91视频免费进入| 国产情侣一区二区三区| 久久久av网站| 国产永久av在线| 亚洲成人久久网| 一级黄色片网站| 日韩欧美高清在线视频| 黄色一级视频免费| 亚洲国产高清aⅴ视频| 中文字幕a在线观看| 国内精品国产成人| 国产精品wwwww| 亚洲精品四区| 中文字幕日韩精品无码内射| 成人vr资源| 久久久亚洲综合网站| 亚洲天堂av资源在线观看| 国产精品久久久久久久app| 美女av在线免费看| 久久久久久久成人| 99热国产在线| 日韩在线观看网址| 北条麻妃在线| 亚洲一区999| 飘雪影院手机免费高清版在线观看 | 日本一区二区乱| 国产精品爽爽爽| 日韩成人高清| 清纯唯美日韩制服另类| 日本在线啊啊| 68精品久久久久久欧美| 福利网站在线观看| 欧美激情网站在线观看| 黄网页在线观看| 精品国产一区二区三区久久久| 黄色网址在线播放| 亚洲天堂第一页| 免费毛片在线| 亚洲视频在线观看免费| 香蕉视频网站在线| 国产偷亚洲偷欧美偷精品| 少妇高潮久久久| 亚洲国产欧美一区| 污污网站免费在线观看| 337p日本欧洲亚洲大胆色噜噜| 国产91绿帽单男绿奴| 精品久久人人做人人爽| wwwav网站| 精品黑人一区二区三区久久| 亚洲狼人综合网| 亚洲精品在线三区| 天天av天天翘| 亚洲久久久久久久久久| 欧美巨乳在线| 最近2019中文免费高清视频观看www99| a天堂中文在线88| 日韩中文字幕国产| av在线app| 久久久久久久亚洲精品| 国产白浆在线免费观看| 性色av一区二区三区免费| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 在线播放/欧美激情| 最近中文字幕在线观看| 欧美日本一区二区| 亚洲av无码一区二区三区dv | 成年人视频在线观看免费| 一区二区三区www| 高h视频在线观看| 久久久久久九九九| 欧洲亚洲两性| 91久久久久久久| 高清一区二区三区| 日韩av一级大片| 亚洲成人国产| 亚洲美免无码中文字幕在线| 久久亚洲不卡| 午夜免费福利网站| 成人激情黄色小说| www久久久久久久| 一区二区三区四区亚洲| 国产成人无码av| 欧美精品18+| 无套内谢的新婚少妇国语播放| 亚洲一区二区精品| 性直播体位视频在线观看| 欧美一级高清免费| 国产精品xnxxcom| 久久精品久久精品国产大片| 99久久婷婷国产综合精品电影√| 亚洲色欲久久久综合网东京热| 久久久久久穴| 人妻精油按摩bd高清中文字幕| www国产亚洲精品久久麻豆| 免费在线观看a级片| 色综合久久综合| www.国产黄色| 中文字幕在线亚洲| 国产乱码午夜在线视频| 国产有码一区二区| 伊人久久大香线蕉综合网站| 国产精品无码乱伦| 久久中文欧美| 色综合久久五月| 日韩码欧中文字| 午夜久久久久久久久久影院| 精品国产一二三| 成人午夜影视| 欧美中文在线观看国产| 国产一区二区三区视频在线| 欧美一区二区福利| 一区二区三区福利| wwwww在线观看| 国产精品国产三级国产aⅴ入口 | 精品美女在线观看| 五月婷婷在线视频| 日本亚洲精品在线观看| 久久国产精品免费精品3p| 50度灰在线观看| 精品一区二区在线观看| 精品人妻一区二区三区蜜桃视频| 午夜久久电影网| 丰满人妻一区二区三区无码av| 久久亚洲精品一区| 日韩福利在线观看| 亚洲精品久久区二区三区蜜桃臀| 性8sex亚洲区入口| 中文字幕日韩三级片| 亚洲大片在线观看| 高潮毛片7777777毛片| 欧美成人午夜激情在线| 在线日韩三级| 宅男一区二区三区| 老司机一区二区| 在线小视频你懂的| 在线亚洲欧美专区二区| 巨骚激情综合| 国产精品91免费在线| 九九热爱视频精品视频| 国产网站免费在线观看| av电影在线观看一区| 香蕉免费毛片视频| 亚洲加勒比久久88色综合| mm视频在线视频| 国产日韩一区欧美| 一区二区三区四区五区在线| 久久精品女同亚洲女同13| 亚洲6080在线| 青青青草原在线| 欧美一区二三区| 九九精品在线| 中国黄色片免费看| 亚洲人成小说网站色在线 | 一区二区日韩电影| 亚洲无码精品在线播放| 国产一级揄自揄精品视频| 亚洲电影有码| 最新不卡av| 国产麻豆精品95视频| 国产精品成人免费观看| 欧美va亚洲va国产综合| 91老司机福利在线| 久久偷看各类wc女厕嘘嘘偷窃| 久久精品女人| 日本黄色录像视频| 欧美一区二区美女| 91九色在线播放| 蜜桃av久久久亚洲精品| 麻豆国产欧美日韩综合精品二区| 国产精品丝袜一区二区| 精品99999| jizz欧美| 17c丨国产丨精品视频| 99在线热播精品免费| 中国女人真人一级毛片| 欧美另类在线观看| 香蕉久久夜色精品国产更新时间| 国产免费999| 亚洲免费成人av| 深夜福利免费在线观看| 国产欧美精品一区二区三区-老狼| 亚洲一级淫片| 我和岳m愉情xxxⅹ视频| 欧美日韩国产色站一区二区三区| 日本在线视频中文有码| 六十路精品视频| 黑人巨大精品欧美黑白配亚洲| 日韩欧美国产亚洲| 日韩视频免费在线| 国内自拍欧美| 日本精品一区在线| 日韩欧美中文字幕在线播放| 在线观看麻豆蜜桃| 黑人另类av| 麻豆高清免费国产一区| 日产精品久久久久| 日韩视频免费在线| 神马香蕉久久| 国产精品久久久久野外| 欧美性受极品xxxx喷水| 波多野结依一区| 这里只有精品66| 久久综合九色综合97婷婷女人 | 久久久全国免费视频|