精品欧美一区二区三区在线观看 _久久久久国色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午夜精品| 欧美激情导航| 一炮成瘾1v1高h| 欧美成人tv| 国产91丝袜在线播放| 高清在线视频日韩欧美| 天天躁日日躁aaaa视频| 人人澡人人添人人爽一区二区| 岛国一区二区三区| 国产精品高潮呻吟久久av野狼| 多男操一女视频| 国偷自产视频一区二区久| 国产精品久久久一本精品| 95av在线视频| 日韩一级在线视频| 一区二区日韩欧美| 亚洲女同精品视频| 久久久精品视频国产| 91精品影视| 亚洲va中文字幕| 一区二区视频在线播放| 无套内谢的新婚少妇国语播放| 久久久精品五月天| 久国内精品在线| 涩涩网站在线看| 丁香花视频在线观看| 国产亚洲一区二区三区在线观看| 97超碰最新| 97超碰人人草| 日韩精品一级中文字幕精品视频免费观看| 欧美超级免费视 在线| 人妻一区二区视频| 露出调教综合另类| 欧美一区二区在线不卡| 五月天激情视频在线观看| 91美女主播在线视频| 亚洲日本在线看| 7777精品伊久久久大香线蕉语言| 无码人妻精品一区二区50| 黑丝一区二区| 欧美成人手机在线| 中文字幕在线观看2018| 欧美综合一区| 国产亚洲精品日韩| 欧美做受xxxxxⅹ性视频| 蜜桃视频动漫在线播放| 玉足女爽爽91| 在线观看成人免费| 精品国产白色丝袜高跟鞋| 中文字幕高清不卡| 日韩一区二区三区资源| 亚洲中文字幕在线观看| 久久久噜噜噜| 日韩av免费看| 成人一级免费视频| 日韩不卡一区二区| 国产精品久久久久久搜索 | 亚洲经典一区二区三区| 国产一区二区不卡老阿姨| 成人写真福利网| 丰满少妇高潮久久三区| 午夜激情久久| 久久夜精品香蕉| 破处女黄色一级片| 国产在线欧美| 97国产精品视频| 五月天激情国产综合婷婷婷| 久久激情一区| 国产精品久久网| 91在线视频国产| 国产成人啪免费观看软件| 国产成人精品一区二区三区| 国产婷婷色一区二区在线观看| 久久五月激情| 国产精品亚洲网站| av免费在线不卡| 成人视屏免费看| 欧美精品成人一区二区在线观看| 懂色一区二区三区| 亚洲少妇中出一区| 日本精品久久久久久久久久| 一区二区电影免费观看| 在线亚洲一区二区| 亚洲一级片av| 国产成人福利av| 亚洲小视频在线| 国精品无码一区二区三区| 亚洲精品123区| 国产精品va在线播放| 国产精品久久久久久无人区| 久久欧美肥婆一二区| 国产精品一区二区三区在线播放| 国产福利第一视频| 91啪亚洲精品| 在线国产99| 美女在线视频免费| 在线成人高清不卡| 一级特黄a大片免费| 日韩在线欧美| 91精品国产一区| 怡红院男人的天堂| 久久综合中文| 91在线短视频| 国产小视频免费在线网址| 亚洲免费在线播放| 99999精品视频| 国产精品国产亚洲精品| 亚洲精品视频在线观看视频| 久久中文免费视频| 久久亚洲图片| 国产精品v欧美精品v日韩精品| 国产麻豆一精品一男同| aa级大片欧美| 中国老女人av| 亚洲国产尤物| 日韩精品免费综合视频在线播放| 三级黄色在线观看| 老司机久久99久久精品播放免费| 97人人做人人人难人人做| 超碰在线国产| 欧美色xxxx| 欧美熟妇精品一区二区| 久久中文视频| 国产精品国产自产拍高清av水多 | 亚洲国产成人久久综合| 男人在线观看视频| 首页亚洲欧美制服丝腿| 好吊色欧美一区二区三区视频| 后入内射欧美99二区视频| 欧美国产精品一区二区三区| 免费看日本毛片| 日韩一区网站| 久久精品色欧美aⅴ一区二区| 天堂网视频在线| 97久久精品人人澡人人爽| 久久av秘一区二区三区| 黄色成人在线观看网站| 国产亚洲精品综合一区91| av大片免费观看| www.av亚洲| 无码人妻精品一区二区蜜桃网站| 激情综合五月| 美女999久久久精品视频| 国产又粗又猛又爽又黄91| 中文字幕第一区综合| 欧美日韩亚洲一二三| ccyy激情综合| 久久男人资源视频| 丁香花免费高清完整在线播放| 亚洲美女一区二区三区| 99久久99精品| 欧美激情1区| 成人自拍爱视频| 手机在线免费观看av| 欧美一二三四在线| 麻豆疯狂做受xxxx高潮视频| 国产成人免费高清| 性一交一乱一伧国产女士spa| 日韩一区二区三区色| 国模精品系列视频| 天堂av在线资源| 国产精品乱子久久久久| 国产三级三级看三级| 久久理论电影| 亚洲一区亚洲二区亚洲三区| 八戒八戒神马在线电影| 欧美不卡视频一区| 三级黄色在线视频| 久久久精品国产99久久精品芒果 | 精品国产sm最大网站免费看| 久草国产在线观看| 99久久精品国产一区| 少妇高潮喷水久久久久久久久久| 国产在线观看91一区二区三区| 国产精品日韩在线一区| 黄色av电影在线观看| 精品国产乱码久久久久久图片| 粉嫩aⅴ一区二区三区| 91免费视频网址| 97超碰人人爽| 亚洲影院天堂中文av色| 国产精品wwwwww| 91麻豆一二三四在线| 精品1区2区在线观看| 亚洲免费在线视频观看| 国产精品另类一区| 日韩少妇一区二区| 青青草91视频| 久久青青草原| 青青青国产精品| 久久久久久噜噜噜久久久精品| 亚洲一卡二卡在线| 伊人开心综合网| 国产精品成人一区二区三区电影毛片 | 欧美一级大黄| 久久综合伊人77777蜜臀| 欧美一区二区黄片| 欧美日韩免费观看一区三区| 香蕉网在线播放| 亚洲精品裸体| 一区二区精品国产| 卡通动漫国产精品| 成人欧美一区二区三区黑人孕妇| 乱馆动漫1~6集在线观看| 日韩在线中文字幕| 天堂中文在线资| 日韩欧美一区二区免费| 成人毛片在线播放| 亚洲黄色小说网站| 妖精视频在线观看免费| 成人黄色777网| 欧美精品卡一卡二| 色综合天天综合网中文字幕| 精品久久sese| 日韩一区二区三区色| 国产男女猛烈无遮挡91| 中老年在线免费视频| 欧美激情手机在线视频| 在线免费看黄| 欧美日韩精品一区二区三区四区| 日本免费一二三区| 99久久精品国产一区| 宇都宫紫苑在线播放| 老司机免费视频一区二区| 337p粉嫩大胆噜噜噜鲁| 亚洲午夜av| 欧美三级午夜理伦三级老人| 欧美亚洲在线日韩| 久久一区二区三区av| 第一区第二区在线| 91高跟黑色丝袜呻吟在线观看| 另类中文字幕国产精品| 国产999精品| 久草免费在线视频| 97国产真实伦对白精彩视频8| 91cn在线观看| 欧美成aaa人片免费看| 黄色在线观看网站| 久久精彩免费视频| 婷婷成人激情| 日韩在线观看成人| 免费高清在线观看| www欧美日韩| 国产乱色在线观看| 久久人人爽人人爽爽久久| 一级毛片视频在线观看| 深夜福利国产精品| 视频三区在线| 久久伊人精品一区二区三区| 黄在线免费观看| 菠萝蜜影院一区二区免费| 免费av在线网站| 久久亚洲精品网站| 性欧美videoshd高清| 久久99国产综合精品女同| 日本在线视频www鲁啊鲁| 九九综合九九综合| 高清精品在线| 久久亚洲精品成人| av片在线观看永久免费| 欧美激情精品久久久久| 91在线品视觉盛宴免费| 日韩在线视频导航| 尤物在线网址| 性日韩欧美在线视频| 亚洲欧美电影| 国产精品爽爽爽| 精品国产第一国产综合精品| 懂色av一区二区三区在线播放| 国产乱论精品| 日韩少妇中文字幕| 这里只有精品在线| 日韩一级片免费视频| 葵司免费一区二区三区四区五区| 在线观看av网页| 国产高清亚洲一区| 91精品国产自产| 国产精品护士白丝一区av| 欧美日韩精品一区二区三区视频播放| 亚洲国产综合视频在线观看| 免费污污视频在线观看| 欧美乱熟臀69xxxxxx| 免费观看的毛片| 国产一区二区三区日韩欧美| 韩国av网站在线| …久久精品99久久香蕉国产| 影音成人av| 国产91免费视频| 欧美精品一二| 欧美久久久久久久久久久久久久| 久久蜜桃精品| 亚洲精品无码一区二区| 欧美激情一区在线观看| 中文字幕无码人妻少妇免费| 国产亚洲福利社区一区| 久久国产精品二区| 欧美亚洲国产一区在线观看网站| 成人高潮片免费视频| 亚洲图片欧美午夜| 啦啦啦中文在线观看日本| 国产成人极品视频| 高清精品视频| 一区二区视频国产| 久久字幕精品一区| 韩国一区二区三区四区| 国产精品欧美综合在线| 中文字幕一区二区三区精品 | 女人18毛片水真多18精品| 国产亚洲日本欧美韩国| ****av在线网毛片| 91嫩草在线视频| 国产美女亚洲精品7777| 欧美福利一区二区三区| 欧美视频在线观看| 依人在线免费视频| 久久久精品tv| 国产成人精品网| 精品国产麻豆免费人成网站| 成人区精品一区二区不卡| 国产精品成人免费视频| 国产精品网址| 97超碰国产精品| 国产一区欧美日韩| 91动漫免费网站| 欧美在线观看视频一区二区三区| 天天干天天舔天天射| 久久99亚洲精品| 久久久精品区| 中文字幕制服丝袜在线| 免费人成网站在线观看欧美高清| 波多野结衣先锋影音| 亚洲第一精品在线| 丰满人妻一区二区三区免费| 欧美成人午夜激情在线| 四虎影视国产精品| 亚洲欧美国产精品桃花| 日本女优在线视频一区二区| 中文字幕一二三四区| 福利一区视频在线观看| 亚洲欧洲精品视频| 国内精品免费午夜毛片| 国产成人精品亚洲线观看| 老子影院午夜伦不卡大全| 国产乱码精品1区2区3区| 私库av在线播放| 日韩精品一区二区三区在线| 性欧美ⅴideo另类hd| 国产传媒一区| 在线看片一区| 538国产视频| 日本高清无吗v一区| 成人av毛片| 成人xxxxx| 欧美成人中文| 亚洲国产精品狼友在线观看| 午夜视频一区二区| 青青草在线免费视频| 国产精品www| 欧美国产美女| 中文字幕一二三区| 亚洲成在人线在线播放| 久草在现在线| 国产欧美亚洲精品| 91精品观看| 韩国三级hd两男一女| 欧美特级www| av大片在线播放| 91在线免费网站| 精品91在线| 永久免费成人代码| 欧美日韩国产色站一区二区三区| 黄色免费在线观看网站| 国产精品美女久久久久av福利| 日韩黄色大片网站| 日本一二三四区视频| 亚洲高清免费观看 | 日本黄色一级视频| 最近2019中文字幕第三页视频| 精品国产一区二区三区2021| 国产在线播放观看| 国产美女精品一区二区三区| 激情五月少妇a| 亚洲欧美一区二区激情| 黄色成人在线观看网站| 日韩成人三级视频| 久久亚洲综合av| 国产精品嫩草影院桃色| 国产做受69高潮| 色婷婷色综合| xfplay5566色资源网站| 欧美午夜精品理论片a级按摩| 91一区二区三区在线| 欧美午夜欧美| 成人免费毛片片v| 亚洲一卡二卡在线观看| 欧美在线视频在线播放完整版免费观看| 久久综合99| 国内精品久久99人妻无码|