File size: 48,379 Bytes
c59d7e4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
---
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- dense
- generated_from_trainer
- dataset_size:1668
- loss:LoggableMNRL
widget:
- source_sentence: t started. [5]It can be dangerous to delay turning yourself into
    a company, because one or more of the founders might decide to split off and start
    another company doing the same thing. This does happen. So when you set up the
    company, as well as as apportioning the stock, you should get all the founders
    to sign something agreeing that everyone's ideas belong to this company, and that
    this company is going to be everyone's only job.[If this were a movie, ominous
    music would begin here.]While you're at it, you should ask what else they've signed.
    One of the worst things that can happen to a startup is to run into intellectual
    property problems. We did, and it came closer to killing us than any competitor
    ever did. As we were in the middle of getting bought, we discovered that one of
    our people had, early on, been bound by an agreement that said all his ideas belonged
    to the giant company that was paying for him to go to grad school. In theory,
    that could have meant someone else owned big chunks of our software. So the acquisition
    came to a screeching halt while we tried to sort this out. The problem was, since
    we'd been about to be acquired, we'd allowed ourselves to run low on cash
  sentences:
  - 'what we should expect in the future is more of the same. Indeed, we should expect
    both the number and wealth of founders to grow, because every decade it gets easier
    to start a startup. Part of the reason it''s getting easier to start a startup
    is social. Society is (re)assimilating the concept. If you start one now, your
    parents won''t freak out the way they would have a generation ago, and knowledge
    about how to do it is much more widespread. But the main reason it''s easier to
    start a startup now is that it''s cheaper. Technology has driven down the cost
    of both building products and acquiring customers. The decreasing cost of starting
    a startup has in turn changed the balance of power between founders and investors.
    Back when starting a startup meant building a factory, you needed investors''
    permission to do it at all. But now investors need founders more than founders
    need investors, and that, combined with the increasing amount of venture capital
    available, has driven up valuations. [8]So the decreasing cost of starting a startup
    increases the number of rich people in two ways: it means that more people start
    them, and that those who do can raise money on better terms. But there'''
  - 'e a company when, as sometimes happens, its whole market dies, just as property
    managers can''t save you from the building burning down. But a company that managed
    a large enough number of companies could say to all its clients: we''ll combine
    the revenues from all your companies, and pay you your proportionate share. If
    such management companies existed, they''d offer the maximum of freedom and security.
    Someone would run your company for you, and you''d be protected even if it happened
    to die. Let''s think about how such a management company might be organized. The
    simplest way would be to have a new kind of stock representing the total pool
    of companies they were managing. When you signed up, you''d trade your company''s
    stock for shares of this pool, in proportion to an estimate of your company''s
    value that you''d both agreed upon. Then you''d automatically get your share of
    the returns of the whole pool. The catch is that because this kind of trade would
    be hard to undo, you couldn''t switch management companies. But there''s a way
    they could fix that: suppose all the company management companies got together
    and agreed to allow their clients to exchange shares in all their pools. Then
    y'
  - t started. [5]It can be dangerous to delay turning yourself into a company, because
    one or more of the founders might decide to split off and start another company
    doing the same thing. This does happen. So when you set up the company, as well
    as as apportioning the stock, you should get all the founders to sign something
    agreeing that everyone's ideas belong to this company, and that this company is
    going to be everyone's only job.[If this were a movie, ominous music would begin
    here.]While you're at it, you should ask what else they've signed. One of the
    worst things that can happen to a startup is to run into intellectual property
    problems. We did, and it came closer to killing us than any competitor ever did.
    As we were in the middle of getting bought, we discovered that one of our people
    had, early on, been bound by an agreement that said all his ideas belonged to
    the giant company that was paying for him to go to grad school. In theory, that
    could have meant someone else owned big chunks of our software. So the acquisition
    came to a screeching halt while we tried to sort this out. The problem was, since
    we'd been about to be acquired, we'd allowed ourselves to run low on cash
- source_sentence: ' happen fast. For example, Y Combinator has now invested in 80
    startups, 57 of which are still alive. (The rest have died or merged or been acquired.)
    When you''re trying to advise 57 startups, it turns out you have to have a stateless
    algorithm. You can''t have ulterior motives when you have 57 things going on at
    once, because you can''t remember them. So our rule is just to do whatever''s
    best for the founders. Not because we''re particularly benevolent, but because
    it''s the only algorithm that works on that scale. When you write something telling
    people to be good, you seem to be claiming to be good yourself. So I want to say
    explicitly that I am not a particularly good person. When I was a kid I was firmly
    in the camp of bad. The way adults used the word good, it seemed to be synonymous
    with quiet, so I grew up very suspicious of it. You know how there are some people
    whose names come up in conversation and everyone says "He''s such a great guy?"
    People never say that about me. The best I get is "he means well." I am not claiming
    to be good. At best I speak good as a second language. So I''m not suggesting
    you be good in the usual sanctimonious way. I''m suggesting it because it works.'
  sentences:
  - ' happen fast. For example, Y Combinator has now invested in 80 startups, 57 of
    which are still alive. (The rest have died or merged or been acquired.) When you''re
    trying to advise 57 startups, it turns out you have to have a stateless algorithm.
    You can''t have ulterior motives when you have 57 things going on at once, because
    you can''t remember them. So our rule is just to do whatever''s best for the founders.
    Not because we''re particularly benevolent, but because it''s the only algorithm
    that works on that scale. When you write something telling people to be good,
    you seem to be claiming to be good yourself. So I want to say explicitly that
    I am not a particularly good person. When I was a kid I was firmly in the camp
    of bad. The way adults used the word good, it seemed to be synonymous with quiet,
    so I grew up very suspicious of it. You know how there are some people whose names
    come up in conversation and everyone says "He''s such a great guy?" People never
    say that about me. The best I get is "he means well." I am not claiming to be
    good. At best I speak good as a second language. So I''m not suggesting you be
    good in the usual sanctimonious way. I''m suggesting it because it works.'
  - 'hether it''s net good or bad, but my guess is bad.[7] One of the reasons people
    work so hard on startups is that startups can fail, and when they do, that failure
    tends to be both decisive and conspicuous.[8] It''s ok to work on something to
    make a lot of money. You need to solve the money problem somehow, and there''s
    nothing wrong with doing that efficiently by trying to make a lot at once. I suppose
    it would even be ok to be interested in money for its own sake; whatever floats
    your boat. Just so long as you''re conscious of your motivations. The thing to
    avoid is unconsciously letting the need for money warp your ideas about what kind
    of work you find most interesting.[9] Many people face this question on a smaller
    scale with individual projects. But it''s easier both to recognize and to accept
    a dead end in a single project than to abandon some type of work entirely. The
    more determined you are, the harder it gets. Like a Spanish Flu victim, you''re
    fighting your own immune system: Instead of giving up, you tell yourself, I should
    just try harder. And who can say you''re not right?


    Thanks to Trevor Blackwell, John Carmack, John Collison, Patrick Collison, Robert
    Morris, Geoff Ralsto'
  - ign is a definite skill. It's not just an airy intangible. Things always seem
    intangible when you don't understand them. Electricity seemed an airy intangible
    to most people in 1800. Who knew there was so much to know about it? So it is
    with design. Some people are good at it and some people are bad at it, and there's
    something very tangible they're good or bad at. The reason design counts so much
    in software is probably that there are fewer constraints than on physical things.
    Building physical things is expensive and dangerous. The space of possible choices
    is smaller; you tend to have to work as part of a larger group; and you're subject
    to a lot of regulations. You don't have any of that if you and a couple friends
    decide to create a new web-based application. Because there's so much scope for
    design in software, a successful application tends to be way more than the sum
    of its patents. What protects little companies from being copied by bigger competitors
    is not just their patents, but the thousand little things the big company will
    get wrong if they try. The second reason patents don't count for much in our world
    is that startups rarely attack big companies head-on, the way R
- source_sentence: 'ng on optimization is counter to the general trend in software
    development for the last several decades. Trying to write the sufficiently smart
    compiler is by definition a mistake. And even if it weren''t, compilers are the
    sort of software that''s supposed to be created by open source projects, not companies.
    Plus if this works it will deprive all the programmers who take pleasure in making
    multithreaded apps of so much amusing complexity. The forum troll I have by now
    internalized doesn''t even know where to begin in raising objections to this project.
    Now that''s what I call a startup idea.7. Ongoing DiagnosisBut wait, here''s another
    that could face even greater resistance: ongoing, automatic medical diagnosis.
    One of my tricks for generating startup ideas is to imagine the ways in which
    we''ll seem backward to future generations. And I''m pretty sure that to people
    50 or 100 years in the future, it will seem barbaric that people in our era waited
    till they had symptoms to be diagnosed with conditions like heart disease and
    cancer. For example, in 2004 Bill Clinton found he was feeling short of breath.
    Doctors discovered that several of his arteries were over 90% blocked and 3 days
    la'
  sentences:
  - lude working unsubscribe links in their mails. And this would be a necessity for
    smaller fry, and for "legitimate" sites that hired spammers to promote them. So
    if auto-retrieving filters became widespread, they'd become auto-unsubscribing
    filters. In this scenario, spam would, like OS crashes, viruses, and popups, become
    one of those plagues that only afflict people who don't bother to use the right
    software. Notes[1] Auto-retrieving filters will have to follow redirects, and
    should in some cases (e. g. a page that just says "click here") follow more than
    one level of links. Make sure too that the http requests are indistinguishable
    from those of popular Web browsers, including the order and referrer. If the response
    doesn't come back within x amount of time, default to some fairly high spam probability.
    Instead of making n constant, it might be a good idea to make it a function of
    the number of spams that have been seen mentioning the site. This would add a
    further level of protection against abuse and accidents.[2] The original version
    of this article used the term "whitelist" instead of "blacklist" Though they were
    to work like blacklists, I preferred to call them whitelists be
  - 'ng on optimization is counter to the general trend in software development for
    the last several decades. Trying to write the sufficiently smart compiler is by
    definition a mistake. And even if it weren''t, compilers are the sort of software
    that''s supposed to be created by open source projects, not companies. Plus if
    this works it will deprive all the programmers who take pleasure in making multithreaded
    apps of so much amusing complexity. The forum troll I have by now internalized
    doesn''t even know where to begin in raising objections to this project. Now that''s
    what I call a startup idea.7. Ongoing DiagnosisBut wait, here''s another that
    could face even greater resistance: ongoing, automatic medical diagnosis. One
    of my tricks for generating startup ideas is to imagine the ways in which we''ll
    seem backward to future generations. And I''m pretty sure that to people 50 or
    100 years in the future, it will seem barbaric that people in our era waited till
    they had symptoms to be diagnosed with conditions like heart disease and cancer.
    For example, in 2004 Bill Clinton found he was feeling short of breath. Doctors
    discovered that several of his arteries were over 90% blocked and 3 days la'
  - ' used to amuse himself by breaking into safes containing secret documents. This
    tradition continues today. When we were in grad school, a hacker friend of mine
    who spent too much time around MIT had his own lock picking kit. (He now runs
    a hedge fund, a not unrelated enterprise.)It is sometimes hard to explain to authorities
    why one would want to do such things. Another friend of mine once got in trouble
    with the government for breaking into computers. This had only recently been declared
    a crime, and the FBI found that their usual investigative technique didn''t work.
    Police investigation apparently begins with a motive. The usual motives are few:
    drugs, money, sex, revenge. Intellectual curiosity was not one of the motives
    on the FBI''s list. Indeed, the whole concept seemed foreign to them. Those in
    authority tend to be annoyed by hackers'' general attitude of disobedience. But
    that disobedience is a byproduct of the qualities that make them good programmers.
    They may laugh at the CEO when he talks in generic corporate newspeech, but they
    also laugh at someone who tells them a certain problem can''t be solved. Suppress
    one, and you suppress the other. This attitude is sometimes affe'
- source_sentence: father. [8]The second component of independent-mindedness, resistance
    to being told what to think, is the most visible of the three. But even this is
    often misunderstood. The big mistake people make about it is to think of it as
    a merely negative quality. The language we use reinforces that idea. You're unconventional.
    You don't care what other people think. But it's not just a kind of immunity.
    In the most independent-minded people, the desire not to be told what to think
    is a positive force. It's not mere skepticism, but an active delight in ideas
    that subvert the conventional wisdom, the more counterintuitive the better. Some
    of the most novel ideas seemed at the time almost like practical jokes. Think
    how often your reaction to a novel idea is to laugh. I don't think it's because
    novel ideas are funny per se, but because novelty and humor share a certain kind
    of surprisingness. But while not identical, the two are close enough that there
    is a definite correlation between having a sense of humor and being independent-minded
     just as there is between being humorless and being conventional-minded. [9]I
    don't think we can significantly increase our resistance to being told what to
  sentences:
  - 'o think of startup ideas. If you do that, you get bad ones that sound dangerously
    plausible. The best approach is more indirect: if you have the right sort of background,
    good startup ideas will seem obvious to you. But even then, not immediately. It
    takes time to come across situations where you notice something missing. And often
    these gaps won''t seem to be ideas for companies, just things that would be interesting
    to build. Which is why it''s good to have the time and the inclination to build
    things just because they''re interesting. Live in the future and build what seems
    interesting. Strange as it sounds, that''s the real recipe. Notes[1] This form
    of bad idea has been around as long as the web. It was common in the 1990s, except
    then people who had it used to say they were going to create a portal for x instead
    of a social network for x. Structurally the idea is stone soup: you post a sign
    saying "this is the place for people interested in x," and all those people show
    up and you make money from them. What lures founders into this sort of idea are
    statistics about the millions of people who might be interested in each type of
    x. What they forget is that any given person might ha'
  - father. [8]The second component of independent-mindedness, resistance to being
    told what to think, is the most visible of the three. But even this is often misunderstood.
    The big mistake people make about it is to think of it as a merely negative quality.
    The language we use reinforces that idea. You're unconventional. You don't care
    what other people think. But it's not just a kind of immunity. In the most independent-minded
    people, the desire not to be told what to think is a positive force. It's not
    mere skepticism, but an active delight in ideas that subvert the conventional
    wisdom, the more counterintuitive the better. Some of the most novel ideas seemed
    at the time almost like practical jokes. Think how often your reaction to a novel
    idea is to laugh. I don't think it's because novel ideas are funny per se, but
    because novelty and humor share a certain kind of surprisingness. But while not
    identical, the two are close enough that there is a definite correlation between
    having a sense of humor and being independent-minded  just as there is between
    being humorless and being conventional-minded. [9]I don't think we can significantly
    increase our resistance to being told what to
  - 'ht happen. Well, if you''re troubled by uncertainty, I can solve that problem
    for you: if you start a startup, it will probably fail. Seriously, though, this
    is not a bad way to think about the whole experience. Hope for the best, but expect
    the worst. In the worst case, it will at least be interesting. In the best case
    you might get rich. No one will blame you if the startup tanks, so long as you
    made a serious effort. There may once have been a time when employers would regard
    that as a mark against you, but they wouldn''t now. I asked managers at big companies,
    and they all said they''d prefer to hire someone who''d tried to start a startup
    and failed over someone who''d spent the same time working at a big company. Nor
    will investors hold it against you, as long as you didn''t fail out of laziness
    or incurable stupidity. I''m told there''s a lot of stigma attached to failing
    in other places—in Europe, for example. Not here. In America, companies, like
    practically everything else, are disposable.14. Don''t realize what you''re avoidingOne
    reason people who''ve been out in the world for a year or two make better founders
    than people straight from college is that they know what they''re avoid'
- source_sentence: 'ded to take occasional vacations. [5]The only way to find the
    limit is by crossing it. Cultivate a sensitivity to the quality of the work you''re
    doing, and then you''ll notice if it decreases because you''re working too hard.
    Honesty is critical here, in both directions: you have to notice when you''re
    being lazy, but also when you''re working too hard. And if you think there''s
    something admirable about working too hard, get that idea out of your head. You''re
    not merely getting worse results, but getting them because you''re showing off
    — if not to other people, then to yourself. [6]Finding the limit of working hard
    is a constant, ongoing process, not something you do just once. Both the difficulty
    of the work and your ability to do it can vary hour to hour, so you need to be
    constantly judging both how hard you''re trying and how well you''re doing. Trying
    hard doesn''t mean constantly pushing yourself to work, though. There may be some
    people who do, but I think my experience is fairly typical, and I only have to
    push myself occasionally when I''m starting a project or when I encounter some
    sort of check. That''s when I''m in danger of procrastinating. But once I get
    rolling, I tend to keep'
  sentences:
  - ' is not in itself bad, only when it''s camouflage on insipid form.) Similarly,
    in painting, a still life of a few carefully observed and solidly modelled objects
    will tend to be more interesting than a stretch of flashy but mindlessly repetitive
    painting of, say, a lace collar. In writing it means: say what you mean and say
    it briefly. It seems strange to have to emphasize simplicity. You''d think simple
    would be the default. Ornate is more work. But something seems to come over people
    when they try to be creative. Beginning writers adopt a pompous tone that doesn''t
    sound anything like the way they speak. Designers trying to be artistic resort
    to swooshes and curlicues. Painters discover that they''re expressionists. It''s
    all evasion. Underneath the long words or the "expressive" brush strokes, there
    is not much going on, and that''s frightening. When you''re forced to be simple,
    you''re forced to face the real problem. When you can''t deliver ornament, you
    have to deliver substance. Good design is timeless. In math, every proof is timeless
    unless it contains a mistake. So what does Hardy mean when he says there is no
    permanent place for ugly mathematics? He means the same thing Kelly Joh'
  - 'same way a biblical literalist is committed to rejecting it. All he''s committed
    to is following the evidence wherever it leads. Considering yourself a scientist
    is equivalent to putting a sign in a cupboard saying "this cupboard must be kept
    empty." Yes, strictly speaking, you''re putting something in the cupboard, but
    not in the ordinary sense.


    Thanks to Sam Altman, Trevor Blackwell, Paul Buchheit, and Robert Morris for reading
    drafts of this.'
  - 'ded to take occasional vacations. [5]The only way to find the limit is by crossing
    it. Cultivate a sensitivity to the quality of the work you''re doing, and then
    you''ll notice if it decreases because you''re working too hard. Honesty is critical
    here, in both directions: you have to notice when you''re being lazy, but also
    when you''re working too hard. And if you think there''s something admirable about
    working too hard, get that idea out of your head. You''re not merely getting worse
    results, but getting them because you''re showing off — if not to other people,
    then to yourself. [6]Finding the limit of working hard is a constant, ongoing
    process, not something you do just once. Both the difficulty of the work and your
    ability to do it can vary hour to hour, so you need to be constantly judging both
    how hard you''re trying and how well you''re doing. Trying hard doesn''t mean
    constantly pushing yourself to work, though. There may be some people who do,
    but I think my experience is fairly typical, and I only have to push myself occasionally
    when I''m starting a project or when I encounter some sort of check. That''s when
    I''m in danger of procrastinating. But once I get rolling, I tend to keep'
pipeline_tag: sentence-similarity
library_name: sentence-transformers
---

# SentenceTransformer

This is a [sentence-transformers](https://www.SBERT.net) model trained. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

## Model Details

### Model Description
- **Model Type:** Sentence Transformer
<!-- - **Base model:** [Unknown](https://huggingface.co/unknown) -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->

### Model Sources

- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/huggingface/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)

### Full Model Architecture

```
SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'BertModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)
```

## Usage

### Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

```bash
pip install -U sentence-transformers
```

Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("sentence_transformers_model_id")
# Run inference
sentences = [
    "ded to take occasional vacations. [5]The only way to find the limit is by crossing it. Cultivate a sensitivity to the quality of the work you're doing, and then you'll notice if it decreases because you're working too hard. Honesty is critical here, in both directions: you have to notice when you're being lazy, but also when you're working too hard. And if you think there's something admirable about working too hard, get that idea out of your head. You're not merely getting worse results, but getting them because you're showing off — if not to other people, then to yourself. [6]Finding the limit of working hard is a constant, ongoing process, not something you do just once. Both the difficulty of the work and your ability to do it can vary hour to hour, so you need to be constantly judging both how hard you're trying and how well you're doing. Trying hard doesn't mean constantly pushing yourself to work, though. There may be some people who do, but I think my experience is fairly typical, and I only have to push myself occasionally when I'm starting a project or when I encounter some sort of check. That's when I'm in danger of procrastinating. But once I get rolling, I tend to keep",
    "ded to take occasional vacations. [5]The only way to find the limit is by crossing it. Cultivate a sensitivity to the quality of the work you're doing, and then you'll notice if it decreases because you're working too hard. Honesty is critical here, in both directions: you have to notice when you're being lazy, but also when you're working too hard. And if you think there's something admirable about working too hard, get that idea out of your head. You're not merely getting worse results, but getting them because you're showing off — if not to other people, then to yourself. [6]Finding the limit of working hard is a constant, ongoing process, not something you do just once. Both the difficulty of the work and your ability to do it can vary hour to hour, so you need to be constantly judging both how hard you're trying and how well you're doing. Trying hard doesn't mean constantly pushing yourself to work, though. There may be some people who do, but I think my experience is fairly typical, and I only have to push myself occasionally when I'm starting a project or when I encounter some sort of check. That's when I'm in danger of procrastinating. But once I get rolling, I tend to keep",
    ' is not in itself bad, only when it\'s camouflage on insipid form.) Similarly, in painting, a still life of a few carefully observed and solidly modelled objects will tend to be more interesting than a stretch of flashy but mindlessly repetitive painting of, say, a lace collar. In writing it means: say what you mean and say it briefly. It seems strange to have to emphasize simplicity. You\'d think simple would be the default. Ornate is more work. But something seems to come over people when they try to be creative. Beginning writers adopt a pompous tone that doesn\'t sound anything like the way they speak. Designers trying to be artistic resort to swooshes and curlicues. Painters discover that they\'re expressionists. It\'s all evasion. Underneath the long words or the "expressive" brush strokes, there is not much going on, and that\'s frightening. When you\'re forced to be simple, you\'re forced to face the real problem. When you can\'t deliver ornament, you have to deliver substance. Good design is timeless. In math, every proof is timeless unless it contains a mistake. So what does Hardy mean when he says there is no permanent place for ugly mathematics? He means the same thing Kelly Joh',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[ 1.0000,  1.0000, -0.1102],
#         [ 1.0000,  1.0000, -0.1102],
#         [-0.1102, -0.1102,  1.0000]])
```

<!--
### Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details>
-->

<!--
### Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details>
-->

<!--
### Out-of-Scope Use

*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->

<!--
## Bias, Risks and Limitations

*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->

<!--
### Recommendations

*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->

## Training Details

### Training Dataset

#### Unnamed Dataset

* Size: 1,668 training samples
* Columns: <code>sentence_0</code> and <code>sentence_1</code>
* Approximate statistics based on the first 1000 samples:
  |         | sentence_0                                                                           | sentence_1                                                                           |
  |:--------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|
  | type    | string                                                                               | string                                                                               |
  | details | <ul><li>min: 26 tokens</li><li>mean: 257.69 tokens</li><li>max: 345 tokens</li></ul> | <ul><li>min: 26 tokens</li><li>mean: 257.69 tokens</li><li>max: 345 tokens</li></ul> |
* Samples:
  | sentence_0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | sentence_1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
  | <code>ts raison d'etre—is that it offers something otherwise impossible to obtain: a way of measuring that. In many businesses, it just makes more sense for companies to get technology by buying startups rather than developing it in house. You pay more, but there is less risk, and risk is what big companies don't want. It makes the guys developing the technology more accountable, because they only get paid if they build the winner. And you end up with better technology, created faster, because things are made in the innovative atmosphere of startups instead of the bureaucratic atmosphere of big companies. Our startup, Viaweb, was built to be sold. We were open with investors about that from the start. And we were careful to create something that could slot easily into a larger company. That is the pattern for the future.9. CaliforniaThe Bubble was a California phenomenon. When I showed up in Silicon Valley in 1998, I felt like an immigrant from Eastern Europe arriving in America in 1900. Eve...</code> | <code>ts raison d'etre—is that it offers something otherwise impossible to obtain: a way of measuring that. In many businesses, it just makes more sense for companies to get technology by buying startups rather than developing it in house. You pay more, but there is less risk, and risk is what big companies don't want. It makes the guys developing the technology more accountable, because they only get paid if they build the winner. And you end up with better technology, created faster, because things are made in the innovative atmosphere of startups instead of the bureaucratic atmosphere of big companies. Our startup, Viaweb, was built to be sold. We were open with investors about that from the start. And we were careful to create something that could slot easily into a larger company. That is the pattern for the future.9. CaliforniaThe Bubble was a California phenomenon. When I showed up in Silicon Valley in 1998, I felt like an immigrant from Eastern Europe arriving in America in 1900. Eve...</code> |
  | <code> image rendered with more pixels. One consequence is that some old recipes may have become obsolete. At the very least we have to go back and figure out if they were really recipes for wisdom or intelligence. But the really striking change, as intelligence and wisdom drift apart, is that we may have to decide which we prefer. We may not be able to optimize for both simultaneously. Society seems to have voted for intelligence. We no longer admire the sage—not the way people did two thousand years ago. Now we admire the genius. Because in fact the distinction we began with has a rather brutal converse: just as you can be smart without being very wise, you can be wise without being very smart. That doesn't sound especially admirable. That gets you James Bond, who knows what to do in a lot of situations, but has to rely on Q for the ones involving math. Intelligence and wisdom are obviously not mutually exclusive. In fact, a high average may help support high peaks. But there are reasons t...</code> | <code> image rendered with more pixels. One consequence is that some old recipes may have become obsolete. At the very least we have to go back and figure out if they were really recipes for wisdom or intelligence. But the really striking change, as intelligence and wisdom drift apart, is that we may have to decide which we prefer. We may not be able to optimize for both simultaneously. Society seems to have voted for intelligence. We no longer admire the sage—not the way people did two thousand years ago. Now we admire the genius. Because in fact the distinction we began with has a rather brutal converse: just as you can be smart without being very wise, you can be wise without being very smart. That doesn't sound especially admirable. That gets you James Bond, who knows what to do in a lot of situations, but has to rely on Q for the ones involving math. Intelligence and wisdom are obviously not mutually exclusive. In fact, a high average may help support high peaks. But there are reasons t...</code> |
  | <code>he mastered a new kind of farming. I've seen the lever of technology grow visibly in my own time. In high school I made money by mowing lawns and scooping ice cream at Baskin-Robbins. This was the only kind of work available at the time. Now high school kids could write software or design web sites. But only some of them will; the rest will still be scooping ice cream. I remember very vividly when in 1985 improved technology made it possible for me to buy a computer of my own. Within months I was using it to make money as a freelance programmer. A few years before, I couldn't have done this. A few years before, there was no such thing as a freelance programmer. But Apple created wealth, in the form of powerful, inexpensive computers, and programmers immediately set to work using it to create more. As this example suggests, the rate at which technology increases our productive capacity is probably exponential, rather than linear. So we should expect to see ever-increasing variation in i...</code> | <code>he mastered a new kind of farming. I've seen the lever of technology grow visibly in my own time. In high school I made money by mowing lawns and scooping ice cream at Baskin-Robbins. This was the only kind of work available at the time. Now high school kids could write software or design web sites. But only some of them will; the rest will still be scooping ice cream. I remember very vividly when in 1985 improved technology made it possible for me to buy a computer of my own. Within months I was using it to make money as a freelance programmer. A few years before, I couldn't have done this. A few years before, there was no such thing as a freelance programmer. But Apple created wealth, in the form of powerful, inexpensive computers, and programmers immediately set to work using it to create more. As this example suggests, the rate at which technology increases our productive capacity is probably exponential, rather than linear. So we should expect to see ever-increasing variation in i...</code> |
* Loss: <code>__main__.LoggableMNRL</code> with these parameters:
  ```json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim",
      "gather_across_devices": false
  }
  ```

### Training Hyperparameters
#### Non-Default Hyperparameters

- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `num_train_epochs`: 5
- `fp16`: True
- `multi_dataset_batch_sampler`: round_robin

#### All Hyperparameters
<details><summary>Click to expand</summary>

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: no
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 16
- `per_device_eval_batch_size`: 16
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 1
- `eval_accumulation_steps`: None
- `torch_empty_cache_steps`: None
- `learning_rate`: 5e-05
- `weight_decay`: 0.0
- `adam_beta1`: 0.9
- `adam_beta2`: 0.999
- `adam_epsilon`: 1e-08
- `max_grad_norm`: 1
- `num_train_epochs`: 5
- `max_steps`: -1
- `lr_scheduler_type`: linear
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0.0
- `warmup_steps`: 0
- `log_level`: passive
- `log_level_replica`: warning
- `log_on_each_node`: True
- `logging_nan_inf_filter`: True
- `save_safetensors`: True
- `save_on_each_node`: False
- `save_only_model`: False
- `restore_callback_states_from_checkpoint`: False
- `no_cuda`: False
- `use_cpu`: False
- `use_mps_device`: False
- `seed`: 42
- `data_seed`: None
- `jit_mode_eval`: False
- `bf16`: False
- `fp16`: True
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: None
- `local_rank`: 0
- `ddp_backend`: None
- `tpu_num_cores`: None
- `tpu_metrics_debug`: False
- `debug`: []
- `dataloader_drop_last`: False
- `dataloader_num_workers`: 0
- `dataloader_prefetch_factor`: None
- `past_index`: -1
- `disable_tqdm`: False
- `remove_unused_columns`: True
- `label_names`: None
- `load_best_model_at_end`: False
- `ignore_data_skip`: False
- `fsdp`: []
- `fsdp_min_num_params`: 0
- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
- `fsdp_transformer_layer_cls_to_wrap`: None
- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
- `parallelism_config`: None
- `deepspeed`: None
- `label_smoothing_factor`: 0.0
- `optim`: adamw_torch_fused
- `optim_args`: None
- `adafactor`: False
- `group_by_length`: False
- `length_column_name`: length
- `project`: huggingface
- `trackio_space_id`: trackio
- `ddp_find_unused_parameters`: None
- `ddp_bucket_cap_mb`: None
- `ddp_broadcast_buffers`: False
- `dataloader_pin_memory`: True
- `dataloader_persistent_workers`: False
- `skip_memory_metrics`: True
- `use_legacy_prediction_loop`: False
- `push_to_hub`: False
- `resume_from_checkpoint`: None
- `hub_model_id`: None
- `hub_strategy`: every_save
- `hub_private_repo`: None
- `hub_always_push`: False
- `hub_revision`: None
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `include_for_metrics`: []
- `eval_do_concat_batches`: True
- `fp16_backend`: auto
- `push_to_hub_model_id`: None
- `push_to_hub_organization`: None
- `mp_parameters`: 
- `auto_find_batch_size`: False
- `full_determinism`: False
- `torchdynamo`: None
- `ray_scope`: last
- `ddp_timeout`: 1800
- `torch_compile`: False
- `torch_compile_backend`: None
- `torch_compile_mode`: None
- `include_tokens_per_second`: False
- `include_num_input_tokens_seen`: no
- `neftune_noise_alpha`: None
- `optim_target_modules`: None
- `batch_eval_metrics`: False
- `eval_on_start`: False
- `use_liger_kernel`: False
- `liger_kernel_config`: None
- `eval_use_gather_object`: False
- `average_tokens_across_devices`: True
- `prompts`: None
- `batch_sampler`: batch_sampler
- `multi_dataset_batch_sampler`: round_robin
- `router_mapping`: {}
- `learning_rate_mapping`: {}

</details>

### Training Logs
| Epoch  | Step | Training Loss |
|:------:|:----:|:-------------:|
| 4.7619 | 500  | 0.1358        |


### Framework Versions
- Python: 3.12.12
- Sentence Transformers: 5.1.2
- Transformers: 4.57.3
- PyTorch: 2.9.0+cu126
- Accelerate: 1.12.0
- Datasets: 4.0.0
- Tokenizers: 0.22.1

## Citation

### BibTeX

#### Sentence Transformers
```bibtex
@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}
```

#### LoggableMNRL
```bibtex
@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
```

<!--
## Glossary

*Clearly define terms in order to be accessible across audiences.*
-->

<!--
## Model Card Authors

*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->

<!--
## Model Card Contact

*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->